Расположение USB-устройства Windows

Я ищу подходящее свойство класса WMI Win32 или CIM, чтобы найти местоположение USB-устройства. В диспетчере устройств, как показано ниже, местоположение известно как «Порт_#0002.Hub_#0009». Любые идеи о классе и свойстве, что это в Windows API или если это произвольное значение, Диспетчер устройств дает другое свойство, которое является более загадочным. Если последнее, то что является «более загадочным» классом и свойством?

Изображение: http://i.stack.imgur.com/7Miwp.png


person user2588050    schedule 07.08.2013    source источник


Ответы (2)


Используйте API SetupDiGetDeviceRegistryProperty и const параметр SPDRP_LOCATION_INFORMATION.

person DS.    schedule 01.04.2017

Вы можете сопоставить Port_#X.Hub_#Y с выводом USBView. Я использовал этот инструмент много раз, чтобы получить информацию о существующем дереве USB.

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

Начните с функции RefreshTree() в этом примере, затем вы можете следовать коду, чтобы увидеть, как он перечисляет хост-контроллеры, концентраторы и, наконец, устройства.

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

person Preston    schedule 08.08.2013