HID 传输概述
Windows 中支持的 HID 传输
Transport | 内置微型驱动程序 | 版本 | 备注 |
---|---|---|---|
USB | Hidusb.sys | Windows 7 及更高版本。 | 在可追溯到 Windows 2000 的 Windows 操作系统上提供对 USB HID 1.11+ 的支持。 |
Bluetooth | Hidbth.sys | Windows 7 及更高版本。 | 在可追溯到 Windows Vista 的 Windows 操作系统上提供对蓝牙 HID 1.1+ 的支持。 |
蓝牙 LE | HidBthLE.dll | Windows 8 和更高版本。 | Windows 8引入了对通过蓝牙 LE 的 HID 的支持。 |
I²C | Hidi2c.sys | Windows 8 和更高版本。 | Windows 8引入了对 I2C 的 HID 的支持。 |
GPIO | Hidinterrupt.sys | Windows 10 及更高版本。 | Windows 10引入了对常规用途 I/O (GPIO) 按钮的支持。 |
SPI | HidSpi.sys | Windows 10 及更高版本。 | Windows 11引入了对串行外设接口的 HID 的支持, (SPI) 。 |
Microsoft 建议将随附的驱动程序用于上表中列出的传输。
如果设备需要 USB、蓝牙、蓝牙 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 的报表。
内置微型驱动程序 | 报表描述符长度 | 一个报表描述符中的 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 硬件实验室工具包中的 USB 通用 HID 测试 (HLK) 涵盖 HidUsb 和 HidClass 驱动程序。 第三方 HID 微型驱动程序没有 HLK 测试。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈