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

pdcomm_gem_equipment_binding_at

함수

바인딩 하나를 위치로 지정해 읽습니다.

PdcommStatus pdcomm_gem_equipment_binding_at(PdcommTcpEndpoint *endpoint, size_t index, PdcommGemBindingInfo *info, PdcommSecsItem **out_constant_id)

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

바인딩은 저장된 순서대로 열거됩니다. CONSTANT 바인딩이면 *out_constant_id가 상수 ID를 담은 독립된 항목을 받습니다. ASCII ID는 텍스트를 유지하고, 숫자 ID는 I8(음수) 또는 U8로 정규화됩니다. STATUS 바인딩과 DATA 바인딩에서는 NULL로 남으며, source_id에 출처가 들어 있습니다.

매개변수

이름설명
endpoint장비 엔드포인트입니다.
index0부터 시작하는 위치입니다.
info호출자 저장 공간입니다. 먼저 info->struct_size를 설정합니다. 엔드포인트를 검사하기 전에 알려진 필드를 0으로 초기화합니다.
out_constant_id상수 ID 항목 또는 NULL을 받습니다. 먼저 NULL로 설정됩니다. NULL이 아니어야 하며 info와 겹치면 안 됩니다.

반환값

성공하면 #PDCOMM_OK를 반환합니다. 포인터가 NULL이거나, info가 너무 작거나, 출력이 겹치면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. 바인딩 저장소가 설치되어 있지 않거나 index가 바인딩 개수보다 작지 않으면 #PDCOMM_OUT_OF_RANGE를 반환합니다. 엔드포인트가 장비가 아니면 #PDCOMM_INVALID_STATE를 반환합니다. 그 밖에 #PDCOMM_BACKPRESSURE, #PDCOMM_LIMIT_EXCEEDED, #PDCOMM_ALLOCATION_FAILED, #PDCOMM_POISONED를 반환합니다.

참고

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