3 回答

TA貢獻1796條經(jīng)驗 獲得超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
并將結(jié)果存儲在鍵值映射中(以PNPDeviceID作為密鑰)以供以后檢索。如果以后要執(zhí)行單獨的查詢,這是可選的。 被質(zhì)疑 Win32_USBControllerDevice
獲得我的系統(tǒng)上USB設備的明確列表(所有受撫養(yǎng)人),并提取這些設備的PNPDeviceID。我更進一步,根據(jù)設備樹后面的順序,將設備分配給根集線器(返回的第一個設備,而不是控制器),并基于ParentIdPrefix構建了一棵樹。查詢返回的順序與通過SetupDi進行的設備樹枚舉匹配,是每個根集線器(先導標識控制器的根集線器),然后是下面的設備迭代,例如,在我的系統(tǒng)上: 第二個控制器根集線器下的第一個集線器(有ParentIdPrefix) 第二控制器根輪轂下的第二個集線器 第二個控制器根輪轂下的第三個集線器 等。 組合裝置的HID裝置部分 復合設備的HID設備部分(PNPDeviceID與復合設備的ParentIDPrefix匹配) 第一個復合設備在第二個控制器根集線器下的第一個復合設備(PNPDeviceID與集線器的ParentIdPrefix匹配;有自己的ParentIdPrefix) 第二控制器根集線器下第一個集線器下的第二個裝置 第二控制器根輪轂下的第一個裝置 第一控制器的根輪轂 第二控制器根輪轂 被質(zhì)疑 Win32_USBController
..這給了我控制器的PNPDeviceID的詳細信息,這些控制器位于設備樹的頂部(這是前面的查詢)。使用在前一步中派生的樹,遞歸地迭代其子節(jié)點(根集線器)、其子節(jié)點(其他集線器)及其子節(jié)點(非集線器設備和復合設備)及其子程序,等等。 通過引用存儲在第一步中的映射來檢索樹中每個設備的詳細信息。(可以選擇跳過第一步,然后查詢 Win32_PnPEntity
單獨使用PNPDeviceId在這一步獲取信息;可能是CPU與內(nèi)存之間的權衡,以確定哪個順序更好。)
Win32USBControllerDevice
PNPDeviceId
- 3 回答
- 0 關注
- 1873 瀏覽
添加回答
舉報