第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

獲取連接的USB設(shè)備列表

獲取連接的USB設(shè)備列表

慕桂英546537 2019-07-03 15:51:37
獲取連接的USB設(shè)備列表如何獲得Windows計(jì)算機(jī)上所有連接的USB設(shè)備的列表?
查看完整描述

3 回答

?
蕪湖不蕪

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超7個(gè)贊

我知道我是在回答一個(gè)老問(wèn)題,但我只是做了同樣的練習(xí),發(fā)現(xiàn)了一些更多的信息,我認(rèn)為這些信息會(huì)對(duì)討論有很大的幫助,幫助其他人找到這個(gè)問(wèn)題,并發(fā)現(xiàn)現(xiàn)有的答案有哪些不足。

這個(gè)接受答案是關(guān)閉的,并且可以使用內(nèi)德科的評(píng)論敬它。更詳細(xì)地理解所涉及的WMI類有助于完成這幅圖。

Win32_USBHub只返回usb樞紐..事后看來(lái),這似乎是顯而易見(jiàn)的,但上述討論卻忽略了這一點(diǎn)。它并不包括所有可能的USB設(shè)備,只有那些(至少在理論上)可以充當(dāng)附加設(shè)備的集線器的設(shè)備。它忽略了一些不是集線器的設(shè)備(特別是復(fù)合設(shè)備的部分)。

Win32_PnPEntity包括所有的USB設(shè)備,以及數(shù)百個(gè)更多的非USB設(shè)備.羅素甘特曼氏使用WHERE子句搜索的通知Win32_PnPEntity對(duì)于以“USB%”開(kāi)頭的設(shè)備ID來(lái)說(shuō),篩選列表很有幫助,但稍微不完整;它忽略了藍(lán)牙設(shè)備、一些打印機(jī)/打印服務(wù)器以及符合HID的鼠標(biāo)和鍵盤(pán)。我見(jiàn)過(guò)“USB”、“USBSTOR”、“USBPRINT”、“BTH”、“SWD”和“HID”。Win32_PnPEntity然而,當(dāng)您擁有其他來(lái)源的PNPDeviceID時(shí),它是一個(gè)很好的“主”引用來(lái)查找信息。

我發(fā)現(xiàn)枚舉usb設(shè)備的最佳方法是查詢Win32_USBControllerDevice..雖然它沒(méi)有給出設(shè)備的詳細(xì)信息,但是它完全枚舉了您的usb設(shè)備,并給出了一個(gè)預(yù)先/依賴的對(duì)PNPDeviceID對(duì)系統(tǒng)上的每一個(gè)USB設(shè)備(包括集線器、非集線器設(shè)備和符合HID的設(shè)備)都使用。從查詢中返回的每個(gè)依賴項(xiàng)都將是一個(gè)USB設(shè)備。前面的控制器將是它被分配給的控制器,它是通過(guò)查詢返回的USB控制器之一。Win32_USBController.

作為一項(xiàng)獎(jiǎng)勵(lì),WMI似乎在引擎蓋下遍歷設(shè)備樹(shù)響應(yīng)Win32_USBControllerDevice查詢,因此返回這些結(jié)果的順序可以幫助識(shí)別父/子關(guān)系。(這是沒(méi)有記錄的,因此只是猜測(cè);使用SetupDiAPI的cm取母(或兒童 + 兄弟姐妹)確定的結(jié)果。)作為SetupDiAPI的一個(gè)選項(xiàng),看起來(lái)對(duì)于下面列出的所有設(shè)備Win32_USBHub它們可以在注冊(cè)表中查找(在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ + PNPDeviceID),并且將有一個(gè)參數(shù)ParentIdPrefix,它將是其子級(jí)的PNPDeviceID中最后一個(gè)字段的前綴,因此也可以在通配符匹配中使用它來(lái)篩選Win32_PnPEntity查詢。

在我的申請(qǐng)中,我做了以下工作:

  • (可選)

    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受撫養(yǎng)人是系統(tǒng)上USB設(shè)備的完整列表(控制器本身除外,控制器本身是同一查詢中的先決條件),并通過(guò)交叉引用這些設(shè)備。PNPDeviceId與注冊(cè)表和其他查詢中的信息配對(duì),可以構(gòu)造詳細(xì)的圖片。


查看完整回答
反對(duì) 回復(fù) 2019-07-03
  • 3 回答
  • 0 關(guān)注
  • 1913 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)