HidP_GetButtonArray 함수(hidpi.h)
HidP_GetButtonArray 지정된 보고서에 대한 HIDP_BUTTON_ARRAY_DATA 구조의 배열을 반환합니다.
구문
NTSTATUS HidP_GetButtonArray(
HIDP_REPORT_TYPE ReportType,
USAGE UsagePage,
USHORT LinkCollection,
USAGE Usage,
PHIDP_BUTTON_ARRAY_DATA ButtonData,
PUSHORT ButtonDataLength,
PHIDP_PREPARSED_DATA PreparsedData,
PCHAR Report,
ULONG ReportLength
);
매개 변수
ReportType
HIDP_REPORT_TYPE 열거형의 값입니다.
UsagePage
지정된 사용량이 참조하는 사용 페이지입니다.
LinkCollection
(선택 사항) 이 값은 UsagePage와 Usage가 동일하지만 컬렉션이 다른 두 필드를 구분하는 데 사용할 수 있습니다. LinkCollection 값이 HIDP_LINK_COLLECTION_UNSPECIFIED 경우 위치와 관계없이 UsagePage 및 Usage와 일치하는 첫 번째 단추 배열이 반환됩니다. LinkCollection 값이 HIDP_LINK_COLLECTION_ROOT 경우 UsagePage 및 Usage와 일치하는 루트 컬렉션에 있는 첫 번째 단추 배열이 반환됩니다.
Usage
단추 HidP_GetButtonArray 검색할 사용량입니다.
ButtonData
단추의 데이터가 배치 ON
될 HIDP_BUTTON_ARRAY_DATA 구조체의 배열입니다. 필요한 요소 수는 이 컨트롤에 대한 HIDP_BUTTON_CAPSReportCount 필드입니다. 이 버퍼는 호출자가 제공합니다.
ButtonDataLength
입력으로 이 매개 변수는 ButtonData 매개 변수의 길이를 바이트 수가 아닌 배열 요소 수로 지정합니다. 출력으로 HIDP_STATUS_SUCCESS 반환되는 경우 이 값은 함수에 의해 채워진 배열 요소 수를 나타내도록 설정됩니다. 반환할 수 있는 HIDP_BUTTON_ARRAY_DATA 구조체의 최대 수는 HIDP_BUTTON_CAPS 따라 결정됩니다. ReportCount. HIDP_STATUS_BUFFER_TOO_SMALL 반환되는 경우 이 값에는 요청을 성공적으로 완료하는 데 필요한 배열 요소 수가 포함됩니다.
PreparsedData
HIDCLASS에서 반환된 미리 구문 분석된 데이터입니다.
Report
보고서 패킷입니다. 첫 번째 바이트는 ReportId여야 합니다. 시스템에서 보고서를 읽는 경우 올바르게 설정됩니다.
ReportLength
지정된 보고서 패킷의 길이(바이트)입니다.
반환 값
HidP_GetButtonArray 다음 상태 값 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
HIDP_STATUS_SUCCESS | 보고서 패킷에서 단추를 성공적으로 검색했습니다. |
HIDP_STATUS_INVALID_REPORT_TYPE | ReportType 매개 변수가 잘못되었습니다. |
HIDP_STATUS_INVALID_PREPARSED_DATA | PreparsedData 매개 변수가 잘못되었습니다. |
HIDP_STATUS_INVALID_REPORT_LENGTH | 보고서 패킷의 길이가 지정된 ReportType의 HIDP_CAPS 구조에 지정된 길이와 같지 않습니다. |
HIDP_STATUS_NOT_BUTTON_ARRAY | 지정된 컨트롤이 단추 배열이 아닙니다. |
HIDP_STATUS_BUFFER_TOO_SMALL | 배열을 반환할 전달된 버퍼의 크기가 너무 작습니다. |
HIDP_STATUS_INCOMPATIBLE_REPORT_ID | 지정된 사용 페이지, 사용량 및 링크 컬렉션이 전달되는 보고서와 다른 보고서 ID가 있는 보고서에 있습니다. |
HIDP_STATUS_USAGE_NOT_FOUND | 이 ReportType에 대한 보고서에 사용량 페이지, 사용량 및 링크 컬렉션 조합이 없습니다. |
설명
호출자는 HidP_GetVersion 사용하여 이 함수를 사용할 수 있는지 확인해야 합니다. HidP_GetButtonArrayHidP_GetVersion 두 개 이상의 값을 반환하는 경우에만 사용할 수 있습니다. API 버전 2는 Windows 11 해당합니다.
단추 배열은 지정된 기본 항목에 대해 선언된 ReportCount보다 정의된 사용량이 적기 때문에 기본 항목을 설명하는 사용 시퀀스의 마지막 사용이 반복되어야 할 때 발생합니다. 이 경우 해당 사용량에 대해 단일 HIDP_BUTTON_CAPS 할당되고 HIDP_BUTTON_CAPSReportCount는 사용량이 참조하는 필드 수를 반영하도록 설정됩니다.
단추 배열을 설명하는 HIDP_BUTTON_CAPS항상 ReportCount 가 1보다 큽니다. ReportCount가 1과 같으면 단추 배열이 아니고 HidP_GetButtonArray 사용할 수 없습니다. 대신 HidP_GetUsages 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | hidpi.h |