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

pdcomm_gem_spool_entry_at

함수

스풀 메시지 하나를 큐 위치로 지정해 읽습니다.

PdcommStatus pdcomm_gem_spool_entry_at(PdcommTcpEndpoint *endpoint, size_t index, PdcommGemSpoolEntryInfo *info, PdcommSecsItem **body)

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

인덱스 0은 선두입니다. 가장 오래된 엔트리이며 다음에 전달될 엔트리입니다.

매개변수

이름설명
endpoint장비 스풀이 있는 엔드포인트입니다.
index0부터 시작하는 큐 인덱스입니다.
infostruct_size를 설정한 호출자 저장 공간입니다. 먼저 지워지고, 성공하면 채워집니다.
body메시지 본문을 담은 새 항목을 받습니다. 메시지에 본문이 없으면 NULL을 받습니다(소유한 빈 항목과는 다릅니다). 먼저 NULL로 설정됩니다. NULL이 아니어야 합니다.

반환값

성공하면 #PDCOMM_OK를 반환합니다. info 또는 body가 NULL이거나, info가 너무 작거나, endpoint가 NULL이면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 장비 스풀이 구성되지 않았으면 #PDCOMM_INVALID_STATE를 반환합니다. index가 끝을 넘으면 #PDCOMM_OUT_OF_RANGE를 반환합니다. 저장된 본문을 디코딩할 수 없으면 #PDCOMM_INVALID_DATA를 반환합니다. 그 밖에 #PDCOMM_ALLOCATION_FAILED 또는 #PDCOMM_POISONED를 반환합니다.

참고

  • 소유권: NULL이 아닌 *body는 pdcomm_secs_destroy()로 해제합니다.