Tôi đang cố gắng để có được thông tin SMART cho ổ đĩa USB gắn ngoài. Tôi đang sử dụng các truy vấn sau đây để có được nhiệt độ của ổ đĩa, tuy nhiên truy vấn luôn luôn trả về một đối tượng duy nhất trong bộ sưu tập đó là ổ cứng bên trong của tôi.Không thể nhận được S.M.A.R.T. thông tin cho ổ đĩa gắn ngoài
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();
}
}
Cho đến nay tôi đã thử 3 ổ đĩa khác nhau từ các nhà cung cấp khác nhau nhưng tất cả nỗ lực của tôi không nhận được thông tin.
Tôi đang làm gì sai và làm cách nào để có được thông tin SMART cho các ổ đĩa ngoài thông qua WMI?
EDIT: Tôi đã thử PassMarks's DiskCheckup và có thể nhận thông tin SMART cho tất cả các ổ đĩa.
EDIT2:
Đào sâu hơn tôi thấy đoạn này trong SmartMonTools INSTALL tập tin trong môi trường Windows:
SCSI và USB thiết bị được truy cập thông qua SPTI. Hỗ trợ trình điều khiển đặc biệt là không bắt buộc.
Bây giờ tôi nghĩ rằng tất cả những gì tôi cần là đưa điều đó vào truy vấn WMI, ai đó có thể trợ giúp?
Nếu bạn tải xuống công cụ của bên thứ ba để xem thông tin SMART, nó có hoạt động với các ổ đĩa ngoài không? –
Có, tôi chỉ thử [DiskMeckup của PassMark] (http://www.passmark.com/products/diskcheckup.htm) và nó có thể nhận được thông tin SMART cho các ổ đĩa. –
@MobyDisk Tôi đã thêm một số thông tin khác vào bài đăng. Bạn có thể kiểm tra? –