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 경우 위치와 관계없이 UsagePageUsage와 일치하는 첫 번째 단추 배열이 반환됩니다. LinkCollection 값이 HIDP_LINK_COLLECTION_ROOT 경우 UsagePageUsage와 일치하는 루트 컬렉션에 있는 첫 번째 단추 배열이 반환됩니다.

Usage

단추 HidP_GetButtonArray 검색할 사용량입니다.

ButtonData

단추의 데이터가 배치 ONHIDP_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 보고서 패킷의 길이가 지정된 ReportTypeHIDP_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

추가 정보