HID トランスポートの概要
Windows でサポートされている HID トランスポート
トランスポート | インボックス ミニドライバー | メモ |
---|---|---|
USB | Hidusb.sys | USB HID 1.11 以降のサポートは、Windows 2000 以降の Windows オペレーティング システムで提供されています。 |
Bluetooth | Hidbth.sys | Bluetooth HID 1.1 以降のサポートは、Windows Vista 以降の Windows オペレーティング システムで提供されています。 |
Bluetooth LE | HidBthLE.dll | Windows 8 では、HID over Bluetooth LE のサポートが導入されています。 |
I2C | Hidi2c.sys | Windows 8 では、HID over I2C のサポートが導入されています。 |
GPIO | Hidinterrupt.sys | Windows 10 では、汎用 I/O (GPIO) ボタンのサポートが導入されています。 |
SPI | HidSpi.sys | Windows 11 では、HID over SPI (シリアル周辺機器インターフェイス) のサポートが導入されています。 |
Microsoft では、前の表に示したトランスポートに含まれているドライバーを使用することをお勧めします。
デバイスが USB、Bluetooth、Bluetooth LE、または I2C 以外のトランスポートを必要とする場合は、「トランスポート ミニドライバー」の説明に従ってミニポート ドライバーをお勧めします。
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 テストはありません。