我正在嘗試從MSFT_PhysicalDisk中提取諸如「MediaType」之類的指標。我在Windows 10機器上成功,但在Windows 7機器上卻不成功。在哪些版本的Windows中實施了Storage Management API類,如「MSFT_PhysicalDisk」?
什麼類型的機器是MSFT_PhysicalDisk可用?
用於存儲管理API類參考: https://msdn.microsoft.com/en-us/library/windows/desktop/hh830612(v=vs.85).aspx
下面查看代碼的什麼,我想do.` 布爾isSsd的例子。 嘗試 var physDiskQuery = $「SELECT MediaType FROM MSFT_PhysicalDisk WHERE DeviceID ='{driveNumber.Value}'」;
var wmiScope = @"\\.\root\microsoft\windows\storage";
using (var physicalDiskSearcher = new ManagementObjectSearcher(wmiScope, physDiskQuery))
{
var objectCollection = physicalDiskSearcher.Get();
var physicalDisk = objectCollection.Cast<ManagementBaseObject>().SingleOrDefault();
if (physicalDisk == null)
return null;
isSsd = (ushort)physicalDisk["MediaType"] == 4;
}
}
catch (Exception exception)
{
Debug.WriteLine($"Error while checking for SSD drive. Details: {exception.GetBaseException()}");
return null;
}
return isSsd;`
在['MSFT_PhysicalDisk'文檔]下的要求部分,它說的最底部(https://msdn.microsoft.com/library/windows/desktop/hh830532.aspx)(從您提供的鏈接訪問) 「最低支持的客戶端:Windows 8」。 – BACON
MS頁面通常會列出所需的最低版本,但XP支持已從多個頁面中刪除,因此XP兼容功能現在列爲需要Vista。 –
謝謝@BACON。您應該添加該答案作爲答案。我想我沒有耐心滾動到頁面的底部! –