HID API(애플리케이션 프로그래밍 인터페이스)
HID API에는 다음 세 가지 범주가 있습니다.
- 디바이스 검색 및 설정
- 데이터 이동
- 보고서 만들기 및 해석
디바이스 검색 및 설정
이러한 HID API는 HID 디바이스의 속성을 식별하고 해당 디바이스와의 통신을 설정하는 데 사용됩니다. 애플리케이션은 이러한 API를 사용하여 최상위 컬렉션을 식별합니다.
- HidD_GetAttributes
- HidD_GetHidGuid
- HidD_GetIndexedString
- HidD_GetManufacturerString
- HidD_GetPhysicalDescriptor
- HidD_GetPreparsedData
- HidD_GetProductString
- HidD_GetSerialNumberString
- HidD_GetNumInputBuffers
- HidD_SetNumInputBuffers
데이터 이동
다음 HID API는 애플리케이션과 선택한 디바이스 간에 데이터를 이동하는 데 사용됩니다.
보고서 만들기 및 해석
사용자 지정 하드웨어 개발자는 디바이스에서 발급한 각 보고서의 크기와 형식을 알고 있습니다. 이 경우 애플리케이션은 입력 및 출력 보고서 버퍼를 구조체로 캐스팅하고 데이터를 사용할 수 있습니다.
일반적인 기능을 노출하는 모든 디바이스와 통신하려는 HID 애플리케이션 개발자는 HID 보고서의 크기와 형식을 알지 못할 수 있습니다. 이 애플리케이션 범주는 특정 최상위 컬렉션 및 특정 사용을 이해합니다.
디바이스에서 받은 보고서를 해석하거나 보낼 보고서를 만들려면 애플리케이션에서 보고서 설명자를 사용하여 보고서의 특정 사용량 및 위치와 보고서의 값 단위를 결정해야 합니다. 이러한 경우 HID 구문 분석이 필요합니다. Windows는 디바이스에서 지원하는 사용 유형을 검색하거나, 보고서에서 이러한 사용의 상태를 확인하거나, 디바이스의 사용 상태를 변경하는 보고서를 빌드하는 데 사용할 수 있는 API(HidP_*)를 통해 드라이버 및 애플리케이션에서 사용할 HID 파서를 제공합니다.
HID 파서 API 목록은 다음과 같습니다.
- HidP_GetButtonArray
- HidP_GetButtonCaps
- HidP_GetButtons
- HidP_GetButtonsEx
- HidP_GetCaps
- HidP_GetData
- HidP_GetExtendedAttributes
- HidP_GetLinkCollectionNodes
- HidP_GetScaledUsageValue
- HidP_GetSpecificButtonCaps
- HidP_GetSpecificValueCaps
- HidP_GetUsages
- HidP_GetUsagesEx
- HidP_GetUsageValue
- HidP_GetUsageValueArray
- HidP_GetValueCaps
- HidP_GetVersion
- HidP_InitializeReportForID
- HidP_MaxDataListLength
- HidP_MaxUsageListLength
- HidP_SetButtonArray
- HidP_SetButtons
- HidP_SetData
- HidP_SetScaledUsageValue
- HidP_SetUsages
- HidP_SetUsageValue
- HidP_SetUsageValueArray
- HidP_TranslateUsagesToI8042ScanCodes
- HidP_UnsetButtons
- HidP_UnsetUsages
- HidP_UsageAndPageListDifference
- HidP_UsageListDifference