Win32_DiskDrive和eSATA

时间:2013-04-21 10:15:23

标签: c# windows visual-studio wmi drive

我正在尝试使用WMI检测可移动驱动器,目前我正在InterfaceType进行过滤,仅包含带USB接口的驱动器。我想知道是否有办法检测eSATA驱动器,或者换句话说,Win32_DiskDrive类为eSATA驱动器提供的接口类型是什么。

目前我手边还没有eSATA驱动器,所以我不确定接口类型应该是什么,因为eSATA或SATA未列为InterfaceType成员的有效值{{ 3}}。

目前列出的值是:

SCSI
HDC
IDE
USB
1394

所以我想知道是否有人可以帮助我?

此致

1 个答案:

答案 0 :(得分:0)

很可能它会出现在'USB'下,或者可以使用下面的代码找到一个:

Dim Mq As New Management.ObjectQuery("WQL", "Select Caption,DeviceID,InterfaceType from Win32_DiskDrive ") ' you can include where InterfaceType='USB'
Dim scop As New ManagementScope("root\cimv2")
Dim MobSrchr As New ManagementObjectSearcher(scop, Mq)
Dim Disks As New List(Of String)

For Each mob As ManagementObject In MobSrchr.Get
    Dim DrivInfo As String = Nothing
    DrivInfo = "Caption : " + mob.Properties("Caption").Value + Environment.NewLine
    DrivInfo += "Device ID : " + mob.Properties("DeviceID").Value + Environment.NewLine
    DrivInfo += "InterfaceType : " + mob.Properties("InterfaceType").Value + Environment.NewLine
    Disks.Add(DrivInfo)
Next