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

pdcomm_gem_equipment_event_at

함수

로컬 보고서 저장소의 수집 이벤트 하나를 위치로 지정해 복사합니다.

PdcommStatus pdcomm_gem_equipment_event_at(PdcommTcpEndpoint *endpoint, size_t index, uint32_t *out_id, uint8_t *enabled, uint32_t *report_ids, size_t capacity, size_t *required)

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

이벤트는 등록 순서대로 열거됩니다. *out_id, *enabled, *required는 다른 어떤 검사보다 먼저 0으로 설정됩니다. 인덱스가 유효하면 배열이 너무 짧아도 CEID, 활성 플래그, 링크된 보고서 개수를 반환합니다. 짧은 배열은 변경하지 않습니다.

매개변수

이름설명
endpoint보고서 저장소가 있는 장비 엔드포인트입니다.
index0부터 시작하는 이벤트 위치입니다.
out_idCEID를 받습니다. NULL이 아니어야 합니다.
enabled이벤트 보고서가 활성화되어 있으면 1, 아니면 0을 받습니다. NULL이 아니어야 합니다.
report_ids링크된 RPTID를 링크 순서대로 받을 대상 버퍼입니다. capacity가 0일 때만 NULL일 수 있습니다.
capacityreport_ids에 있는 uint32_t 요소의 개수입니다.
required링크된 보고서 개수를 받습니다. NULL이 아니어야 합니다.

반환값

모든 RPTID를 복사하면 #PDCOMM_OK를 반환합니다. capacity가 *required보다 작으면 #PDCOMM_BUFFER_TOO_SMALL을 반환합니다. endpoint 또는 필수 출력이 NULL이거나, capacity가 0이 아닌데 report_ids가 NULL이거나, 출력 영역이 겹치면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. index가 이벤트 개수보다 작지 않으면 #PDCOMM_OUT_OF_RANGE를 반환합니다. 그 밖에 #PDCOMM_BACKPRESSURE, #PDCOMM_INVALID_STATE(장비가 아니거나 보고서 저장소가 없음), #PDCOMM_POISONED를 반환합니다.

참고

  • 출력은 유효하고 정렬되어 있어야 하며 서로 겹치면 안 됩니다.