有没有办法知道哪个硬盘驱动器MSStorageDriver_ATAPISmartData返回结果?

时间:2017-09-27 17:37:43

标签: c# windows wmi hard-drive wmi-query

我使用WMI查询有关计算机硬盘的信息等,但我在处理我收到的信息时遇到问题,请参加此WMI查询例如:

ManagementObjectSearcher searcherDisk = new ManagementObjectSearcher("root\\WMI", "SELECT * FROM MSStorageDriver_ATAPISmartData");
foreach (ManagementObject queryObj in searcherDisk.Get())
{
   byte[] arrVendorSpecific = (byte[])queryObj.GetPropertyValue("VendorSpecific");
   ...
}

使用它我可以获得PC上每个硬盘的所有SMART信息,因为据我所知,WMI查询没有排序功能,我遇到了麻烦以与此相反的顺序查询返回信息,获取有关硬盘驱动器的其他数据:

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject wmi_HD in searcher.Get())
{    
     ...
}

说结果是:

# HD | Value
 HD1 | Val2
 HD2 | Val1

如果我确定订单总是反向的,也许我可以通过匹配它们来解决这个问题,但是因为据我所知我无法知道,我试图使用Win32_DiskDrive Index值为pc中的每个硬盘驱动器返回一个索引值,但是我还没有找到对MSStorageDriver_ATAPISmartData查询执行相同操作的方法,你会说我的选择是什么? ?

顺便说一句,我知道我的信息是错误的,因为我一直在使用AIDA64软件来比较我的结果。

0 个答案:

没有答案