3 回答

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