Windows中USB设备的路径

时间:2011-05-16 07:11:33

标签: c++ winapi usb device

我将使用USB集线器连接多个设备。我想将特定的USB设备修复到特定的插槽。然后检查它是否正确完成。

我计划实现这一目标的方法是获得完整的USB路径,如

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

我可以通过设备属性在w7中获取此特定字符串,但在wXP中不可用。

2 个答案:

答案 0 :(得分:3)

您可以使用SetupAPI构建此路径。

设备管理器是用这个构建的。

您从CM_Locate_DevNode开始,并使用CM_Get_Child枚举孩子。

答案 1 :(得分:2)

我强烈建议你反对你打算做什么。 AFAIK USB设备无论在插入的USB端口上都必须正常工作。如果您要创建这样的设备,请忘记,例如关于“Certified for Windows”标识。

只需处理WM_DEVICECHANGE消息,然后使用例如WMI搜索您感兴趣的USB设备。Here's my article about it:那时我编写了C#语言,但WMI也有C ++ API。