Как перечислить все прикрепленные USB-устройства в Visual C ++

StackOverflow https://stackoverflow.com/questions/2735920

Вопрос

Вкратце: Мне нужно обнаруживать события Hot Plug из моего 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 уже доступна!

Это было полезно?

Решение

После копания через тонны бесполезной документации в MSDN и некоторую отладку я обнаружил отсутствующую ссылку: setupdi вызывает в setupapi.h: больше инфо, а также исходный код для Mac и Windows можно найти в моем проекте USBEVENTHANDLER github.com. С источниками для Mac и Windows.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top