DeviceID和PNPDeviceID之间的区别是什么?

时间:2017-03-18 13:46:39

标签: c# usb wmi

MSDN将他们称为:

的DeviceID:

  

用于唯一命名逻辑设备的地址或其他标识信息。

PNPDeviceID:

  

表示逻辑设备的Win32即插即用设备标识符。

但我还是不太明白。对于我的USB设备,它们的值是相同的。是否意味着PNPDeviceID是即插即用设备的DeviceID

1 个答案:

答案 0 :(得分:0)

差异至少在限定符中(特别是)。从 WMI Explorer内复制

  

* DeviceID - String

     

限定符CIM_KeyCIMTYPEDescription密钥MappingStringsMaxLenOverrideread

     

DeviceID属性是地址或其他识别信息   唯一标识USBHub。

     

PNPDeviceID - String

     

限定符CIMTYPEDescriptionread

     

表示逻辑设备的Win32即插即用设备ID。

有关详细信息,请尝试下一个PowerShell代码段:

Get-WmiObject -query "SELECT * FROM meta_class WHERE __class = 'Win32_USBHub'" | 
    Select-Object -ExpandProperty Properties | 
    Where-Object {$_.Name -match "DeviceID"} | 
    ForEach-Object { 
        $_            | Format-Table -AutoSize
        "Qualifiers of $($_.Name):"
        $_.Qualifiers | Format-Table -AutoSize -Wrap
    }

<强>输出

Name     Value   Type IsLocal IsArray Origin            Qualifiers                       
----     -----   ---- ------- ------- ------            ----------                       
DeviceID       String   False   False CIM_LogicalDevice {CIM_Key, CIMTYPE, key, Mappin...


Qualifiers of DeviceID:

Name              Value IsAmended IsLocal PropagatesToInstance PropagatesToSubclass IsOve
                                                                                    rrida
                                                                                      ble
----              ----- --------- ------- -------------------- -------------------- -----
CIM_Key            True     False   False                False                 True  True
CIMTYPE          string     False    True                 True                 True  True
key                True     False    True                 True                 True False
MappingStrings       {}     False    True                False                 True  True
MaxLen              256     False    True                False                 True  True
Override       DeviceID     False    True                False                 True  True
read               True     False    True                False                 True  True



Name        Value   Type IsLocal IsArray Origin            Qualifiers     
----        -----   ---- ------- ------- ------            ----------     
PNPDeviceID       String   False   False CIM_LogicalDevice {CIMTYPE, read}


Qualifiers of PNPDeviceID:

Name    Value  IsAmended IsLocal PropagatesToInstance PropagatesToSubclass IsOverridable
----    -----  --------- ------- -------------------- -------------------- -------------
CIMTYPE string     False   False                 True                 True          True
read    True       False   False                False                 True          True