2

我正在寻找合适的 WMI Win32 或 CIM 类属性来查找 USB 设备的位置。在设备管理器中,如下所示,位置称为“Port_#0002.Hub_#0009”。关于 Windows API 中的类和属性的任何想法,或者如果它是任意值,设备管理器都会给出另一个更神秘的属性。如果是后者,“更神秘”的类和属性是什么?

图片:http: //i.stack.imgur.com/7Miwp.png

4

2 回答 2

1

使用 APISetupDiGetDeviceRegistryPropertyconst参数SPDRP_LOCATION_INFORMATION

于 2017-04-01T00:36:05.633 回答
0

您可以将 Port_#X.Hub_#Y 与 USBView 的输出交叉引用。我已经多次使用此工具来获取有关现有 USB 树的信息。

WDK 中提供了 USBView 示例。如果您对此不熟悉,只需运行它 - 该工具会遍历系统上的整个 USB 树,并打印出每个设备的信息和描述符列表,以及主机控制器和集线器上的位置。

从本示例中的 RefreshTree() 函数开始,然后您可以按照代码查看它如何枚举主机控制器、集线器和最终设备。

获取此示例源代码的最简单方法是安装 7.1.0 WDK,目前可在此处获得:http: //www.microsoft.com/en-us/download/details.aspx?id=11800

于 2013-08-08T04:36:54.623 回答