HID 传输概述
Windows 中支持的 HID 传输
运输 | 内置微型驱动程序 | 备注 |
---|---|---|
USB | Hidusb.sys | 在可追溯到 Windows 2000 的 Windows 操作系统上提供了对 USB HID 1.11+ 的支持。 |
蓝牙 | Hidbth.sys | 在可追溯到 Windows Vista 的 Windows 操作系统上提供对蓝牙 HID 1.1+ 的支持。 |
蓝牙 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 以外的传输,建议使用传输微型驱动程序,如传输微型驱动程序中所述。
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 字节 | 空值 | 64 KB |
Hidbth | 65535 字节 | 空值 | 64 KB |
HidBthLE | 65535 字节 | 空值 | 64 KB |
Hidi2c | 65535 字节 | 空值 | 64 KB |
Hidspi | 65535 字节 | 空值 | 64 KB |
相关主题
- Windows 硬件实验室工具包 (HLK) 中的 USB 通用 HID 测试 涵盖 HidUsb 和 HidClass 驱动程序。 第三方 HID 微型驱动程序没有 HLK 测试。