HID アプリケーション プログラミング インターフェイス (API)
HID API には、次の 3 つのカテゴリがあります。
- デバイスの検出とセットアップ
- データの移動
- レポートの作成と解釈
デバイスの検出とセットアップ
次の 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