Путь к USB-устройству в Windows - PullRequest
2 голосов
/ 16 мая 2011

Я бы использовал концентратор USB для подключения нескольких устройств. Я хочу прикрепить конкретное USB-устройство к определенному слоту. Затем проверьте, правильно ли это сделано.

Я планирую добиться этого, чтобы получить полный путь USB, например

PCIROOT(0)#PCI(1D00)#USBROOT(0)#USB(1)#USB(2)#USB(3)#USB(3)

Я могу получить эту конкретную строку в w7 через свойство устройства, но то же самое недоступно в wXP.

Ответы [ 2 ]

3 голосов
/ 16 мая 2011

Вы можете построить этот путь с помощью SetupAPI.

Диспетчер устройств построен с этим.

Вы начинаете с CM_Locate_DevNode и перечисляете потомков с CM_Get_Child .

2 голосов
/ 16 мая 2011

Я настоятельно советую вам не делать то, что вы планируете делать. AFAIK USB-устройство ДОЛЖНО работать независимо от того, к какому USB-порту оно подключено. Если вы создадите такое устройство, забудьте, например, о логотипе «Сертифицировано для Windows».

Просто обработайте сообщение WM_DEVICECHANGE, затем используйте, например, WMI для поиска интересующего вас USB-устройства. Вот моя статья об этом : в то время я кодировал язык C #, однако WMI также имеет C ++ API.

...