HidP_SetButtonArray 함수(hidpi.h)

HidP_SetButtonArray 함수는 HIDP_BUTTON_ARRAY_DATA 구조의 배열을 통해 단추의 상태를 설정합니다.

구문

NTSTATUS HidP_SetButtonArray(
  HIDP_REPORT_TYPE        ReportType,
  USAGE                   UsagePage,
  USHORT                  LinkCollection,
  USAGE                   Usage,
  PHIDP_BUTTON_ARRAY_DATA ButtonData,
  USHORT                  ButtonDataLength,
  PHIDP_PREPARSED_DATA    PreparsedData,
  PCHAR                   Report,
  ULONG                   ReportLength
);

매개 변수

ReportType

HIDP_REPORT_TYPE 열거형에서 HidP_Output 또는 HidP_Feature 입니다.

UsagePage

지정된 사용량이 참조하는 사용 페이지입니다.

LinkCollection

(선택 사항) 이 값은 UsagePage와 Usage가 동일하지만 컬렉션이 서로 다른 두 필드를 구분하는 데 사용할 수 있습니다. 값이 HIDP_LINK_COLLECTION_UNSPECIFIED 경우 위치에 관계없이 UsagePageUsage 와 일치하는 첫 번째 단추 배열이 반환됩니다. 값이 HIDP_LINK_COLLECTION_ROOT 경우 루트 컬렉션에서 첫 번째 찾은 단추 배열이 UsagePageUsage 와 일치하는 반환됩니다.

Usage

단추 배열 HidP_SetButtonArray 설정되는 사용법입니다.

ButtonData

단추 배열에 설정할 값이 있는 버퍼입니다.

ButtonDataLength

ButtonData 버퍼의 요소 수입니다.

PreparsedData

HIDCLASS에서 반환된 구문 분석된 데이터입니다.

Report

보고서 패킷입니다. 첫 번째 바이트는 ReportId여야 합니다.

ReportLength

지정된 보고서 패킷의 길이(바이트)입니다.

반환 값

HidP_SetButtonArray 다음 상태 값 중 하나를 반환합니다.

반환 코드 설명
HIDP_STATUS_SUCCESS 보고서 패킷의 단추 배열이 성공적으로 설정되었습니다.
HIDP_STATUS_INVALID_REPORT_TYPE ReportType 이 잘못되었습니다.
HIDP_STATUS_INVALID_PREPARSED_DATA PreparsedData 가 잘못되었습니다.
HIDP_STATUS_INVALID_REPORT_LENGTH 보고서 패킷의 길이가 지정된 ReportTypeHIDP_CAPS 구조에 지정된 길이와 같지 않습니다.
HIDP_STATUS_REPORT_DOES_NOT_EXIST 이 디바이스에는 지정된 ReportType에 대한 보고서가 없습니다.
HIDP_STATUS_NOT_BUTTON_ARRAY 지정된 컨트롤이 단추 배열이 아닙니다.
HIDP_STATUS_INCOMPATIBLE_REPORT_ID 지정된 사용 페이지, 사용량 및 링크 컬렉션은 전달되는 보고서와 다른 보고서 ID를 가진 보고서에 있습니다.
HIDP_STATUS_USAGE_NOT_FOUND ReportType에 대한 보고서에 사용 페이지, 사용량 및 링크 컬렉션 조합이 없습니다.
HIDP_STATUS_DATA_INDEX_OUT_OF_RANGE 제공된 HIDP_BUTTON_ARRAY_DATA 구조체 중 하나에 대한 ArrayIndex가 이 단추 배열의 유효한 범위를 벗어났습니다.

설명

HidP_SetButtonArray 지정된 LinkCollection 내에서 찾은 첫 번째 단추 배열의 단추 상태를 지정된 보고서에 대해 제공된 사용량으로 설정합니다.

호출자는 HidP_GetVersion 사용하여 이 함수를 사용할 수 있는지 확인해야 합니다. HidP_SetButtonArray HidP_GetVersion 둘 이상의 값을 반환하는 경우에만 사용할 수 있습니다. API 버전 2는 Windows 11 해당합니다.

단추 배열은 주 항목을 설명하는 사용 시퀀스의 마지막 사용이 지정된 주 항목에 대해 선언된 ReportCount 보다 더 적은 사용량이 정의되어 있으므로 반복되어야 할 때 발생합니다. 이 경우 해당 사용량에 대해 단일 HIDP_BUTTON_CAPS 할당되고 HIDP_BUTTON_CAPSReportCount는 사용량이 참조하는 필드 수를 반영하도록 설정됩니다.

단추 배열을 설명하는 HIDP_BUTTON_CAPS항상 ReportCount 가 1보다 큽니다. ReportCount가 1과 같으면 단추 배열이 아니고 HidP_SetButtonArray 사용할 수 없습니다. 자세한 내용은 HidP_SetUsages 참조하세요.

요구 사항

   
헤더 hidpi.h

참고 항목