如何在 C++ 中找到连接到 USB 端口的设备(HID 或磁盘驱动器)

4
我已经使用SetupDi调用枚举了所有连接的USB端口。示例代码可在此链接找到。
请问如何找到连接到USB端口的设备,例如HID设备或磁盘驱动器?
谢谢。

这个链接对你有帮助吗?http://www.qtcentre.org/threads/31090-How-to-get-vendor-id-and-product-id-of-a-USB-device-on-windows-system - bhathiya-perera
1个回答

1
我建议查看WDK中的USBView示例。如果您不熟悉此内容,请运行它-此工具会遍历系统上的整个USB树,并打印出每个设备的信息和描述符列表。
在您的情况下,我建议从该示例中的RefreshTree()函数开始,然后可以跟随代码,查看如何枚举主机控制器、集线器和最终设备。对于找到的每个设备,您可以查看接口描述符中的bInterfaceClass,以了解它正在广告哪些类型的接口(在您的情况下为0x03用于HID接口类和0x08用于大容量存储器类)。
获取此示例源代码的最简单方法是安装7.1.0 WDK,该版本目前可在此处获得:http://www.microsoft.com/en-us/download/details.aspx?id=11800

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接