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 测试。