简而言之:我需要通过 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版本已经可用!