3 回答
TA贡献1796条经验 获得超7个赞
Win32_USBHub
Win32_PnPEntity
Win32_PnPEntity
Win32_PnPEntity
Win32_USBControllerDevice
PNPDeviceID
Win32_USBController
.
Win32_USBControllerDevice
Win32_USBHub
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ + PNPDeviceID
ParentIdPrefix
Win32_PnPEntity
(可选) Win32_PnPEntity
并将结果存储在键值映射中(以PNPDeviceID作为密钥)以供以后检索。如果以后要执行单独的查询,这是可选的。 被质疑 Win32_USBControllerDevice
获得我的系统上USB设备的明确列表(所有受抚养人),并提取这些设备的PNPDeviceID。我更进一步,根据设备树后面的顺序,将设备分配给根集线器(返回的第一个设备,而不是控制器),并基于ParentIdPrefix构建了一棵树。查询返回的顺序与通过SetupDi进行的设备树枚举匹配,是每个根集线器(先导标识控制器的根集线器),然后是下面的设备迭代,例如,在我的系统上: 第二个控制器根集线器下的第一个集线器(有ParentIdPrefix) 第二控制器根轮毂下的第二个集线器 第二个控制器根轮毂下的第三个集线器 等。 组合装置的HID装置部分 复合设备的HID设备部分(PNPDeviceID与复合设备的ParentIDPrefix匹配) 第一个复合设备在第二个控制器根集线器下的第一个复合设备(PNPDeviceID与集线器的ParentIdPrefix匹配;有自己的ParentIdPrefix) 第二控制器根集线器下第一个集线器下的第二个装置 第二控制器根轮毂下的第一个装置 第一控制器的根轮毂 第二控制器根轮毂 被质疑 Win32_USBController
..这给了我控制器的PNPDeviceID的详细信息,这些控制器位于设备树的顶部(这是前面的查询)。使用在前一步中派生的树,递归地迭代其子节点(根集线器)、其子节点(其他集线器)及其子节点(非集线器设备和复合设备)及其子程序,等等。 通过引用存储在第一步中的映射来检索树中每个设备的详细信息。(可以选择跳过第一步,然后查询 Win32_PnPEntity
单独使用PNPDeviceId在这一步获取信息;可能是CPU与内存之间的权衡,以确定哪个顺序更好。)
Win32USBControllerDevice
PNPDeviceId
- 3 回答
- 0 关注
- 1757 浏览
添加回答
举报