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)이벤트는 등록 순서대로 열거됩니다. *out_id, *enabled, *required는 다른 어떤 검사보다 먼저 0으로 설정됩니다. 인덱스가 유효하면 배열이 너무 짧아도 CEID, 활성 플래그, 링크된 보고서 개수를 반환합니다. 짧은 배열은 변경하지 않습니다.
매개변수
| 이름 | 설명 |
|---|---|
endpoint | 보고서 저장소가 있는 장비 엔드포인트입니다. |
index | 0부터 시작하는 이벤트 위치입니다. |
out_id | CEID를 받습니다. NULL이 아니어야 합니다. |
enabled | 이벤트 보고서가 활성화되어 있으면 1, 아니면 0을 받습니다. NULL이 아니어야 합니다. |
report_ids | 링크된 RPTID를 링크 순서대로 받을 대상 버퍼입니다. capacity가 0일 때만 NULL일 수 있습니다. |
capacity | report_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를 반환합니다.
참고
- 출력은 유효하고 정렬되어 있어야 하며 서로 겹치면 안 됩니다.