pdcomm_gem_program_delete_local
함수
저장된 프로그램을 로컬에서 삭제합니다.
PdcommStatus pdcomm_gem_program_delete_local(PdcommTcpEndpoint *endpoint, const PdcommSecsItem *const *ids, size_t count, PdcommGemProgramWriteInfo *info)엔드포인트가 정지 상태여야 합니다. count가 0이면 모든 프로그램을 삭제합니다(NULL과 0을 허용합니다). 이 API로는 명시적인 빈 선택을 표현할 수 없습니다. 나열한 PPID는 서로 달라야 하며 저장되어 있어야 합니다.
매개변수
| 이름 | 설명 |
|---|---|
endpoint | 프로그램 저장소가 있는 Stopped 상태의 엔드포인트입니다. |
ids | count개의 PPID 항목 배열입니다. count가 0이면 NULL일 수 있습니다. 어떤 요소도 NULL이면 안 됩니다. |
count | PPID 개수입니다. 최대 max_request_ids입니다. |
info | 결과 유형(outcome)을 받습니다. NULL이 아니어야 합니다. |
반환값
반영되면 #PDCOMM_OK 또는 #PDCOMM_PROGRAM_UNCONFIRMED를 반환합니다. 인수가 NULL이거나 크기가 부족한 경우, PPID가 ASCII나 Binary가 아니거나 비어 있는 경우, PPID가 중복된 경우에는 #PDCOMM_INVALID_ARGUMENT를 반환합니다. PPID가 저장되어 있지 않으면 #PDCOMM_OUT_OF_RANGE를 반환합니다. count나 PPID 길이가 한도를 넘으면 #PDCOMM_LIMIT_EXCEEDED를 반환합니다. 엔드포인트가 정지 상태가 아니거나 프로그램 저장소가 없으면 #PDCOMM_INVALID_STATE를 반환합니다. 준비된 TCP 이벤트(staged event)가 대기 중이면 #PDCOMM_BACKPRESSURE를 반환합니다. #PDCOMM_IO_ERROR 같은 영구 저장 오류를 반환할 수 있으며, 이때 저장소는 바뀌지 않습니다. 그 밖에 #PDCOMM_ALLOCATION_FAILED 또는 #PDCOMM_POISONED를 반환할 수 있습니다.