打开 HID 集合

本部分介绍 HID 客户端如何与 HID 类驱动程序通信, (HIDClass) 来操作设备的 HID 集合。

HID 客户端可以在以下模式下运行:

  • 使用模式应用程序/驱动程序
  • Kernel-Mode 驱动程序

以下部分介绍了 HID 客户端如何使用上述列表中的任一模式与 HIDClass 通信。

本部分介绍用户模式应用程序和内核模式驱动程序如何操作 HID 集合

通常,用户模式应用程序执行以下操作:

  • (SetupDiXxx 函数) 调用设备安装函数来查找和标识 HID 集合。

  • 调用 CreateFile 以打开 HID 集合上的文件。

  • 调用 **HidD_**Xxx HID 支持例程来获取 HID 集合的 预分析数据和 有关 HID 集合的信息。

  • 调用 ReadFile 读取输入报告,调用 WriteFile 以发送输出报告。

  • 调用 **HidP_**Xxx HID 支持例程来解释 HID 报表。

通常,内核模式驱动程序执行以下操作:

  • 查找和标识 HID 集合

    如果驱动程序是函数或筛选器驱动程序,则它已附加到集合的设备堆栈。 但是,如果驱动程序未附加到集合的设备堆栈,则驱动程序可以使用即插即用通知

  • 使用 IRP_MJ_CREATE 请求打开 HID 集合

  • 使用 IOCTL_HID_Xxx 请求获取 HID 集合的预分析数据和有关 HID 集合的信息

  • 使用 IRP_MJ_READ 请求读取输入报表, 使用IRP_MJ_WRITE 请求发送输出报告

  • 调用 **HidP_**Xxx HID 支持例程来解释 HID 报表

另请参阅