Вкратце: Мне нужно обнаружить события горячей замены моего устройства USB CDC по PID / VID и получить соответствующий виртуальный COM-порт, который был создан Windows в Visual C ++, и в конце создать DLL.
У меня есть устройство USB CDC, о котором мне нужно уведомлять при подключении / отключении в Windows. Мой подход заключается в использовании RegisterDeviceNotification
и «невидимого» окна для получения WM_DEVICECHANGE
уведомлений. Эта часть работает до сих пор.
Теперь, насколько я узнал, мне нужно получить список подключенных USB-устройств, выполнить итерацию по нему и отфильтровать устройства с помощью моего PID / VID? Я предполагаю, что смогу получить больше информации об устройстве, включая COM-порт?
Является ли единственным способом достижения моей цели использование SetupDi
вызовов в setupapi.h
? Является ли использование WDK / DDK единственным способом достижения моей цели?
Как только это сработает, я открываю его на http://github.com/vinzenzweber/USBEventHandler. Версия для Mac уже доступна!