如何在Visual C ++中列出所有连接的USB设备

时间:2010-04-29 08:53:09

标签: windows visual-studio visual-c++ usb cdc

简而言之:我需要通过PID / VID检测我的USB CDC设备的热插拔事件,并获取由Windows在Visual C ++中创建的相应虚拟COM端口,最后创建一个dll

我有一个USB CDC设备,在Windows上连接/断开连接时需要通知我。我的方法是使用RegisterDeviceNotification和“不可见”窗口来接收WM_DEVICECHANGE通知。到目前为止,这部分工作正在进行中。

现在据我所知,我需要获取插入的USB设备列表,对其进行迭代并使用我的PID / VID过滤出设备?我假设我能够获得有关该设备的更多信息,包括COM端口?

实现我在SetupDi中使用setupapi.h来电的目标的唯一方法是什么?使用WDK / DDK是实现目标的唯一途径吗?

一旦有效,我就会在http://github.com/vinzenzweber/USBEventHandler上开源。 Mac版已经上市!

1 个答案:

答案 0 :(得分:5)

在msdn上搜索了大量无用的文档并进行了一些调试后,我发现了缺少的链接:setupapi.h中的SetupDi调用:我的USBEventHandler项目中可以找到更多的信息以及Mac和Windows的源代码{{3使用Mac和Windows的源代码。