pdcomm_gem_result_query_value
함수
보고서 조회 응답의 값 하나를 복사합니다.
PdcommStatus pdcomm_gem_result_query_value(const PdcommGemResult *result, size_t report_index, size_t value_index, PdcommGemQueryValueInfo *info, PdcommSecsItem **out_item)S6F16에서는 report_index가 보고서를, value_index가 그 안의 값을 선택합니다. S6F20과 S6F22에서는 report_index가 0이어야 하며 value_index가 엔트리를 선택합니다. vid_present는 S6F22 엔트리에서만 설정되며, 중복된 VID는 전송 순서를 유지합니다. 이 응답에는 S6F11 확인 응답 함수인 pdcomm_gem_host_acknowledge_event()를 사용할 수 없습니다.
매개변수
| 이름 | 설명 |
|---|---|
result | 결과 유형이 #PDCOMM_GEM_EVENT_QUERY_RECEIVED, #PDCOMM_GEM_INDIVIDUAL_QUERY_RECEIVED, #PDCOMM_GEM_ANNOTATED_QUERY_RECEIVED 중 하나인 응답 결과입니다. |
report_index | 0부터 시작하는 보고서 위치입니다(S6F20과 S6F22에서는 0). |
value_index | 0부터 시작하는 값 위치입니다. |
info | 호출자 저장 공간입니다. 먼저 info->struct_size를 설정합니다. 결과를 검사하기 전에 알려진 필드를 0으로 초기화합니다. |
out_item | 값 항목을 받습니다. 먼저 NULL로 설정됩니다. NULL이 아니어야 하며 info와 겹치면 안 됩니다. |
반환값
성공하면 #PDCOMM_OK를 반환합니다. 포인터가 NULL이거나, info가 너무 작거나, 출력이 겹치면 #PDCOMM_INVALID_ARGUMENT를 반환합니다. result가 조회 요청이거나 조회 응답이 아니면 #PDCOMM_INVALID_STATE를 반환합니다. 인덱스가 범위를 벗어나면 #PDCOMM_OUT_OF_RANGE를 반환합니다. 그 밖에 #PDCOMM_INVALID_DATA, #PDCOMM_LIMIT_EXCEEDED, #PDCOMM_ALLOCATION_FAILED, #PDCOMM_INTERNAL_ERROR를 반환합니다. 실패하면 항상 info는 지워지고 *out_item은 NULL입니다.
참고
- 소유권: pdcomm_secs_destroy()로 항목을 해제합니다. 항목은 결과, TCP 이벤트, 엔드포인트가 해제된 뒤에도 유효합니다.