简而言之:我需要通过PID / VID来检测我的USB CDC设备的热插拔事件,并在Visual C ++中获取Windows创build的相应的虚拟COM端口,最后创build一个dll。
我有一个USB CDC设备,我需要在Windows上连接/断开连接时收到通知。 我的方法是使用RegisterDeviceNotification
和一个“不可见的”窗口来接收WM_DEVICECHANGE
通知。 这部分工作到目前为止。
现在,据我所知,我需要获得插入USB设备的列表,迭代它,并过滤掉我的PID / VID设备? 我假设我能够获得有关设备的更多信息,包括COM端口?
是唯一的方法来实现我的目标在setupapi.h
使用SetupDi
调用? 是用WDK / DDK实现我的目标的唯一方法吗?
只要这是工作,我开放源代码http://github.com/vinzenzweber/USBEventHandler 。 Mac版本已经可用了!
在msdn上进行大量无用的文档挖掘和一些调试之后,我发现了缺少的链接:setupapi.h中的SetupDi调用:有关Mac和Windows的更多信息以及源代码可以在github.com的USBEventHandler项目中找到 , Mac和Windows。