HID 傳輸概觀
Windows 中支援的 HID 傳輸
傳輸 | 內建迷你驅動程式 | 備註 |
---|---|---|
USB | Hidusb.sys | Windows 操作系統上提供 USB HID 1.11+ 的支援,可追溯到 Windows 2000。 |
Bluetooth | Hidbth.sys | Windows 操作系統上提供藍牙 HID 1.1+ 的支援,可追溯到 Windows Vista。 |
藍牙 LE | HidBthLE.dll | Windows 8 引進了透過藍牙 LE 的 HID 支援。 |
I2C | Hidi2c.sys | Windows 8 引進了透過 I2C 的 HID 支援。 |
GPIO | Hidinterrupt.sys | Windows 10 引進了一般用途 I/O (GPIO) 按鈕的支援。 |
SPI | HidSpi.sys | Windows 11 引進了透過序列周邊介面 (SPI) 的 HID 支援。 |
Microsoft建議針對上表所列的傳輸使用隨附的驅動程式。
如果裝置需要 USB、藍牙、藍牙 LE 或 I2C 以外的傳輸,建議使用傳輸 Minidrivers 中所述的迷你埠驅動程式。
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 的報告。
內建迷你驅動程式 | 報表描述元長度 | 一個報表描述元中的TLC | 輸入/輸出/功能報表長度 |
---|---|---|---|
Hidclass/Hidparse | 65535 個字節 | 21845 | 8 KB - 1 位 |
Hidusb | 65535 個字節 | N/A | 64 KB |
Hidbth | 65535 個字節 | N/A | 64 KB |
HidBthLE | 65535 個字節 | N/A | 64 KB |
Hidi2c | 65535 個字節 | N/A | 64 KB |
Hidspi | 65535 個字節 | N/A | 64 KB |
相關主題
- Windows 硬體實驗室套件 (HLK) 中的 USB 一般 HID 測試 涵蓋 HidUsb 和 HidClass 驅動程式。 第三方 HID 迷你驅動程序沒有 HLK 測試。