2017-05-31 45 views
-1

我正在嘗試從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;` 
+1

在['MSFT_PhysicalDisk'文檔]下的要求部分,它說的最底部(https://msdn.microsoft.com/library/windows/desktop/hh830532.aspx)(從您提供的鏈接訪問) 「最低支持的客戶端:Windows 8」。 – BACON

+0

MS頁面通常會列出所需的最低版本,但XP支持已從多個頁面中刪除,因此XP兼容功能現在列爲需要Vista。 –

+0

謝謝@BACON。您應該添加該答案作爲答案。我想我沒有耐心滾動到頁面的底部! –

回答

2

MSDN文檔列出要求在頁面的底部方式。對於MSFT_PhysicalDisk class它說...

最低支持的客戶端:的Windows 8桌面應用程序僅]

最低支持的服務器: Windows Server 2012中[桌面應用程序僅]

換句話說,您需要至少Windows version 6.2

相關問題