我正在使用USB-Hid类与C ++应用程序中的USB设备进行通信。
有人能告诉我,例程HidD_FlushQueue()
究竟做了什么? https://msdn.microsoft.com/en-us/library/windows/hardware/ff538876%28v=vs.85%29.aspx
我在发送命令之前使用它来刷新输入队列。有人告诉我这样做是为了保证输入队列是空的。
这通常很有效,但在某些情况下,我的程序卡在这个功能中并且不会返回。 我没有使用一些访问队列可以阻止它的异步方法。是否可能,问题出在USB设备的一侧?有什么建议吗?
答案 0 :(得分:0)
HID设备可以向主机发送输入报告。 Windows将这些报告累积在队列中。 HidD_FlushQueue()从队列中删除Windows累积的所有报告。
我在阅读主题的开头调用该函数并且我从未遇到过问题,尽管我的设备在请求之前不会发送报告。