winapi — Как найти, какое устройство подключено к USB-порту (HID или Дисковод) в Stack Overflow

Мне удалось перечислить все подключенные порты USB с помощью вызовов SetupDi. Пример кода доступен на этом ссылка на сайт.

Кто-нибудь может сказать мне, как я могу найти, какое устройство подключено к USB-порту, например, какое-либо устройство HID или любой дисковод?

Благодарю.

4

Решение

Я бы порекомендовал посмотреть на образец USBView в WDK. Если вы не знакомы с этим, просто запустите его — этот инструмент обходит все дерево USB в системе и распечатывает информацию и списки дескрипторов для каждого устройства.

В вашем случае я бы начал с функции RefreshTree () в этом примере, затем вы можете следовать коду, чтобы увидеть, как он перечисляет хост-контроллеры, концентраторы и, наконец, устройства. Для каждого устройства, которое вы обнаружите, вы можете посмотреть на bInterfaceClass в дескрипторах интерфейса, чтобы узнать, какие типы интерфейсов оно рекламирует (в вашем случае 0x03 для класса интерфейса HID и 0x08 для класса запоминающего устройства).

Самый простой способ получить исходный код для этого примера — установить WDK 7.1.0, который в настоящее время доступен здесь:
http://www.microsoft.com/en-us/download/details.aspx?id=11800

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]