“传输微型驱动程序”概述
本部分包含需要创建自己的 HID 微型驱动程序的供应商的详细信息。 如果你的设备需要 USB、蓝牙、蓝牙 LE、I²C、GPIO 作为传输,请使用 Microsoft 提供的内置驱动程序。 若要查看内置传输微型驱动程序的列表,请参阅 HID 传输。
对于其他传输,需要编写传输微型驱动程序。
HID 微型驱动程序可以使用以下框架之一编写:
- UMDF - 用户模式驱动程序框架
- KMDF – 内核模式驱动程序框架
- WDM - 旧版 Windows 驱动程序模型
注意 Microsoft 鼓励硬件供应商尽可能使用内置传输微型驱动程序。 但是,如果你的设备需要不受支持的传输,Microsoft 建议使用 Windows 驱动程序框架 (UMDF 或 KMDF) 作为微型驱动程序的驱动程序模型。 仅当 Windows 驱动程序框架不支持特定传输时,才应创建 WDM 微型驱动程序。
Microsoft 建议开发人员使用 UMDF 框架作为起点。 仅当某个功能对 UMDF 不可用时,才考虑编写 KMDF 驱动程序。 有关两个驱动程序框架中功能比较的信息,请参阅将 UMDF 2 功能与 KMDF 进行比较。
对于 HID 传输微型驱动程序,KMDF 模型具有以下注意事项:
- 优点:KMDF 支持在所有支持 WDF 的 Windows 平台中可用。 对于所有键盘和鼠标筛选器驱动程序是必需的。
- 挑战:编写不当的 KMDF HID 传输微型驱动程序可能会崩溃系统。
下面是 UMDF 模型的特定于 HID 的注意事项:
- 优点:UMDF 更易于开发和推荐用于大多数垂直设备类。 此驱动程序中的错误不会检查整个系统出现 bug。 有关详细信息,请参阅 编写 UMDF 驱动程序的优点。
- 挑战:Windows 8之前的 Windows 版本不支持 UMDF HID 传输微型驱动程序。 UMDF 驱动程序可以从内核模式驱动程序接收 I/O 请求。 这些转换可能会对性能产生轻微的影响。