打开 HID 集合

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

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

  • 使用模式应用程序/驱动程序
  • 内核模式驱动程序

以下部分确定 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 报告

另请参阅