HID トランスポートの概要

Windows でサポートされている HID トランスポート

トランスポート インボックス ミニドライバー バージョン メモ
USB Hidusb.sys Windows 7 以降 USB HID 1.11 以降のサポートは、Windows 2000 以降の Windows オペレーティング システムで提供されています。
Bluetooth Hidbth.sys Windows 7 以降 Bluetooth HID 1.1 以降のサポートは、Windows Vista 以降の Windows オペレーティング システムで提供されています。
Bluetooth LE HidBthLE.dll Windows 8 以降 Windows 8 では、HID over Bluetooth LE のサポートが導入されています。
I²C Hidi2c.sys Windows 8 以降 Windows 8 では、HID over I2C のサポートが導入されています。
GPIO Hidinterrupt.sys Windows 10 以降 Windows 10 では、汎用 I/O (GPIO) ボタンのサポートが導入されています。
SPI HidSpi.sys Windows 10 以降 Windows 11 では、HID over SPI (シリアル周辺機器インターフェイス) のサポートが導入されています。

Microsoft では、前の表に示したトランスポートに含まれているドライバーを使用することをお勧めします。

デバイスで USB、Bluetooth、Bluetooth LE、または I²C 以外のトランスポートが必要な場合は、「トランスポート ミニドライバー」で説明されているミニポート ドライバーが推奨されます。

HID トランスポートの制限

  • レポート記述子の長さ

    トランスポート ミニドライバーは、HID_DESCRIPTOR 構造体で Hidclass にレポート記述子を送信します。 HID レポート記述子をデバイスと共に転送するためのトランスポート プロトコルによって定義されているサイズに関係なく、Hidclass と HID ミニドライバー間の通信中は、実際のレポート記述子のサイズが制限されます。

  • レポート記述子内の TLC

    Hidclass/Hidparse ドライバー ペアは、レポート記述子内の TLC の数を認識します。 HID ミニポート ドライバーには、その情報がありません。 各 TLC には、少なくともコレクションを開始するために 2 バイト、コレクションを終了するために 1 バイトが含まれます。

  • 入力/出力/機能レポートの長さ

    Hidclass/Hidparse ドライバー ペアでは、HID の入力レポート、出力レポート、および機能レポートの長さが定義されています。 制限は 8 KB (マイナス 1 ビット) です。 HID ミニドライバーがレポートに対して 8 KB を超える転送を要求できる場合でも、8 KB (キロバイト) 未満のレポートのみが正常に転送されます。

インボックス ミニドライバー レポート記述子の長さ 1 つのレポート記述子内の TLC 入力/出力/機能レポートの長さ
Hidclass/Hidparse 65535 バイト 21845 8 KB - 1 ビット
Hidusb 65535 バイト 該当なし 64 KB
Hidbth 65535 バイト 該当なし 64 KB
HidBthLE 65535 バイト 該当なし 64 KB
Hidi2c 65535 バイト 該当なし 64 KB
Hidspi 65535 バイト 該当なし 64 KB

参照

Windows Hardware Lab Kit (HLK) の USB 汎用 HID テストでは、HidUsb ドライバーと HidClass ドライバーについて説明しています。 サード パーティ製 HID ミニ ドライバーの HLK テストはありません。