【发布时间】:2014-09-13 07:23:03
【问题描述】:
我正在尝试获取外部 USB 驱动器的 SMART 信息。我正在使用以下查询来获取驱动器的温度,但是该查询始终返回集合中的单个对象,这是我的内部 HDD。
ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\WMI",
"SELECT * FROM MSStorageDriver_ATAPISmartData");
foreach (ManagementObject queryObj in searcher.Get())
{
if (queryObj["VendorSpecific"] != null)
{
byte[] arrVendorSpecific = (byte[])(queryObj["VendorSpecific"]);
string temp = arrVendorSpecific[115].ToString();
}
}
到目前为止,我已经尝试了来自不同供应商的 3 种不同的驱动器,但我获取信息的所有尝试都失败了。
我做错了什么,如何通过 WMI 获取外部驱动器的 SMART 信息?
编辑:我尝试了PassMarks's DiskCheckup,它能够获取所有驱动器的 SMART 信息。
编辑2:
深入挖掘我在Windows下的SmartMonToolsINSTALL文件中找到了这一段:
SCSI 和 USB 设备通过 SPTI 访问。特殊驱动支持 不是必需的。
现在我认为我需要的只是将其放入 WMI 查询中,有人可以帮忙吗?
【问题讨论】:
-
如果您下载第三方工具来查看 SMART 信息,它是否适用于那些外部驱动器?
-
是的,我只试过PassMark's DiskCheckup,它能够获取驱动器的SMART信息。
-
@MobyDisk 我在帖子中添加了更多信息。你能查一下吗?