【问题标题】:What does routine HidD_FlushQueue() exactly do?例程 HidD_FlushQueue() 究竟做了什么?
【发布时间】:2016-03-11 13:02:57
【问题描述】:

我在 C++ 应用程序中使用 USB-Hid 类与我的 USB 设备进行通信。 谁能告诉我,HidD_FlushQueue() 的例程到底是做什么的? https://msdn.microsoft.com/en-us/library/windows/hardware/ff538876%28v=vs.85%29.aspx

我在发送命令之前使用它来刷新输入队列。有人告诉我这样做是为了保证输入队列是空的。

这通常效果很好,但在某些情况下,我的程序会卡在这个功能中并且不会返回。 我没有使用一些异步方法来访问队列可能会阻止它。是否有可能,问题出在 USB 设备的一侧?有什么建议吗?

【问题讨论】:

    标签: c++ windows usb hid


    【解决方案1】:

    HID 设备可以向主机发送输入报告。 Windows 将这些报告累积在一个队列中。 HidD_FlushQueue() 将 Windows 累积的所有报告从队列中删除。

    我在阅读线程的开头调用了该函数,我从来没有遇到过问题,尽管我的设备在收到请求之前不会发送报告。

    【讨论】:

      猜你喜欢
      • 2012-07-23
      • 2016-09-10
      • 2023-03-15
      • 2012-10-17
      • 2021-06-04
      • 1970-01-01
      • 2018-07-30
      • 2019-10-06
      • 2021-01-01
      相关资源
      最近更新 更多