HID 보고서 해석

이 섹션에서는 사용자 모드 애플리케이션 및 커널 모드 드라이버가 HidP_XxxHIDClass지원 루틴을 사용하여 HID 보고서의 제어 데이터를 해석하는 방법을 설명합니다.

사용량을 지정하여 값 데이터 추출

HID 보고서에서 값 데이터를 추출하기 위해 애플리케이션 또는 드라이버는 다음 HID 지원 루틴 중 하나를 사용할 수 있습니다.

HidP_GetUsageValueArray 애플리케이션 및 드라이버를 사용하려면 사용량 값 배열을 보유할 수 있을 만큼 큰 초기화되지 않은 버퍼를 할당해야 합니다. 필요한 크기(바이트)는 가장 가까운 바이트로 반올림된 사용량 값 배열의 HIDP_VALUE_CAPS 구조에 대한 BitSizeReportCount 멤버의 제품입니다.

ON으로 설정된 단추 사용량 추출

ON(1)으로 설정된 단추의 HID 사용을 추출하기 위해 애플리케이션 및 드라이버는 다음 HID 지원 루틴 중 하나를 호출합니다.

이러한 루틴은 현재 ON으로 설정된 모든 단추에 대한 모든 사용 정보의 배열을 반환합니다. 암시적으로 이러한 루틴에서 사용량이 반환되지 않는 단추는 OFF(0)로 설정됩니다.

이러한 루틴을 호출하려면 애플리케이션 및 드라이버가 먼저 단추 사용 배열을 반환하는 데 사용되는 버퍼를 할당하고 0으로 초기화해야 합니다. 애플리케이션 또는 드라이버가 HidP_MaxUsageListLength 호출하여 보고서의 지정된 사용량 페이지에서 단추 사용 횟수를 확인합니다. 애플리케이션 또는 드라이버가 사용량 페이지를 0으로 지정하면 루틴은 보고서의 모든 단추 사용 횟수를 반환합니다.

필요한 버퍼 크기(바이트)는 다음과 같습니다.

  • ( HidP_GetButtons) HidP_MaxUsageListLength times sizeof(USAGE)에서 반환되는 값입니다.

  • ( HidP_GetButtonsEx) HidP_MaxUsageListLength times sizeof( USAGE_AND_PAGE )에서 반환되는 값입니다.

애플리케이션 또는 드라이버가 이러한 루틴을 사용하여 현재 ON으로 설정된 단추에 대한 정보를 얻은 후 다음 HIDClass 지원 루틴 중 하나를 호출하여 단추의 현재 상태와 이전 상태 간의 차이를 확인할 수 있습니다. 이러한 루틴은 두 가지 사용량 정보 배열 간의 차이를 반환합니다.

데이터 인덱스별 제어 데이터 추출 및 설정

데이터 인덱스를 사용하여 HID 보고서에서 제어 데이터를 추출하고 설정하려면 애플리케이션 또는 드라이버에서 다음 HIDClass 지원 루틴을 사용할 수 있습니다.

이러한 루틴은 "부가 가치" 서비스를 제공하는 애플리케이션 또는 드라이버에 특히 유용합니다. 예를 들어 HIDClass 디바이스에서 지원하는 모든 컨트롤에 사용자 지정 인터페이스를 제공하는 인터페이스입니다. Microsoft DirectInput이 한 가지 예입니다.

이러한 루틴을 호출하면 애플리케이션 또는 드라이버가 보고서의 모든 값을 가장 효율적으로 가져오고 설정할 수 있습니다. 예를 들어 HID 사용량 으로 모든 값 데이터를 가져오려면 각 사용량에 대해 HidP_GetUsageValue 호출해야 합니다. 그러나 데이터 인덱스로 모든 값 데이터를 가져오려면 HidP_GetData 한 번만 호출하면 됩니다.

애플리케이션 또는 드라이버는 컬렉션의 단추 기능 배열 및 값 기능 배열 에 지정된 데이터 인덱 스를 사용하여 HID 사용량을 식별합니다.

사용량을 지정하여 값 데이터 설정

애플리케이션 또는 드라이버는 다음 HID 지원 루틴 중 하나를 호출하여 올바르게 초기화된 HID 보고서에서 값을 설정할 수 있습니다.

사용량을 지정하여 단추 상태 설정

애플리케이션 또는 드라이버는 다음 HIDClass 지원 루틴 중 하나를 호출하여 올바르게 초기화된 HID 보고서에서 단추 상태를 설정할 수 있습니다.

데이터 인덱스별 HID 제어 데이터 추출 및 설정

데이터 인덱스를 사용하여 HID 보고서에서 제어 데이터를 추출하고 설정하려면 애플리케이션 또는 드라이버에서 다음 HIDClass 지원 루틴을 사용할 수 있습니다.

이러한 루틴은 "부가 가치" 서비스를 제공하는 애플리케이션 또는 드라이버에 특히 유용합니다. 예를 들어 HIDClass 디바이스에서 지원하는 모든 컨트롤에 사용자 지정 인터페이스를 제공하는 인터페이스입니다. Microsoft DirectInput이 한 가지 예입니다.

이러한 루틴을 호출하면 애플리케이션 또는 드라이버가 보고서의 모든 값을 가장 효율적으로 가져오고 설정할 수 있습니다. 예를 들어 HID 사용량으로 모든 값 데이터를 가져오려면 각 사용량에 대한 HidP_GetUsageValue 호출해야 합니다. 그러나 데이터 인덱스로 모든 값 데이터를 가져오려면 HidP_GetData 한 번만 호출하면 됩니다.

애플리케이션 또는 드라이버는 컬렉션의 단추 기능 배열 및 값 기능 배열 에 지정된 데이터 인덱 스를 사용하여 HID 사용량을 식별합니다.

참고 항목

HID 보고서 초기화