콘텐츠로 이동
무료 평가 시작

pdcomm_gem_program_put

함수

프로그램을 로컬에 저장합니다.

PdcommStatus pdcomm_gem_program_put(PdcommTcpEndpoint *endpoint, const PdcommSecsItem *id, const PdcommSecsItem *body, uint32_t mode, PdcommGemProgramWriteInfo *info)

선언 위치: #include <pdcomm_gem_programs.h>

엔드포인트가 정지 상태여야 합니다. 회선 확인 응답은 관여하지 않습니다. #PDCOMM_PROGRAM_UNCONFIRMED 이후에는 변경이 반영된 상태입니다. info를 확인하고, 롤백된 것처럼 같은 변경을 반복하면 안 됩니다.

매개변수

이름설명
endpoint프로그램 저장소가 있는 Stopped 상태의 엔드포인트입니다.
idPPID 항목: 비어 있지 않은 ASCII 또는 Binary입니다.
body지원하는 프로그램 본문 형식 중 하나로 된 PPBODY 항목입니다.
mode#PDCOMM_GEM_PROGRAM_CREATE, #PDCOMM_GEM_PROGRAM_REPLACE, #PDCOMM_GEM_PROGRAM_UPSERT 중 하나입니다.
info결과 유형(outcome)을 받습니다. NULL이 아니어야 합니다.

반환값

반영되면 #PDCOMM_OK 또는 #PDCOMM_PROGRAM_UNCONFIRMED를 반환합니다. 인수가 NULL이거나 크기가 부족한 경우, mode를 알 수 없는 경우, 지원하지 않는 PPID 또는 본문 형식인 경우, PPID가 비어 있는 경우, 본문 길이가 요소 너비와 맞지 않는 경우, 이미 있는 PPID에 CREATE를 쓰거나 없는 PPID에 REPLACE를 쓴 경우에는 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 저장소 한도나 PPID 길이 한도를 넘으면 #PDCOMM_LIMIT_EXCEEDED를 반환합니다. 엔드포인트가 정지 상태가 아니거나 프로그램 저장소가 없으면 #PDCOMM_INVALID_STATE를 반환합니다. 준비된 TCP 이벤트(staged event)가 대기 중이면 #PDCOMM_BACKPRESSURE를 반환합니다. #PDCOMM_IO_ERROR 같은 영구 저장 오류를 반환할 수 있으며, 이때 저장소는 바뀌지 않습니다. 그 밖에 #PDCOMM_ALLOCATION_FAILED 또는 #PDCOMM_POISONED를 반환할 수 있습니다.