C# 在哪些版本的Windows中实现了存储管理API类,如“MSFT\u PhysicalDisk”?
我正在尝试从MSFT_PhysicalDisk中提取诸如“MediaType”之类的指标。我在Windows 10计算机上成功,但在Windows 7计算机上没有成功 MSFT_PhysicalDisk在哪种类型的机器上可用 存储管理API类的参考: 请参阅下面的代码,以了解我正在尝试执行的操作的示例:C# 在哪些版本的Windows中实现了存储管理API类,如“MSFT\u PhysicalDisk”?,c#,windows,wmi,C#,Windows,Wmi,我正在尝试从MSFT_PhysicalDisk中提取诸如“MediaType”之类的指标。我在Windows 10计算机上成功,但在Windows 7计算机上没有成功 MSFT_PhysicalDisk在哪种类型的机器上可用 存储管理API类的参考: 请参阅下面的代码,以了解我正在尝试执行的操作的示例: bool isSsd; try { var physDiskQuery = $"SELECT MediaType FROM MSFT_PhysicalDisk WHER
bool isSsd;
try
{
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;
MSDN文档在页面底部列出了需求。因为它说 支持的最低客户端:Windows 8[仅限桌面应用程序] 支持的最低服务器:Windows server 2012[仅限桌面应用程序]
换句话说,您至少需要。MSDN文档在页面底部列出了需求。因为它说 支持的最低客户端:Windows 8[仅限桌面应用程序] 支持的最低服务器:Windows server 2012[仅限桌面应用程序]
换句话说,您至少需要。在“可访问”页面的最底部,您在“要求”部分提供的链接中指出了“支持的最低客户端:Windows 8.MS”页面通常列出了所需的最低版本,除了XP支持已经从许多页面中删除,所以XP兼容功能现在被列为需要Vista。谢谢@BACON。你或许应该加上这个作为答案。我想我没有足够的耐心滚动到页面底部!标记为从-1备份到0,因为我发现这篇文章非常有用,可以从您在“要求”部分提供的链接中访问,它说“支持的最低客户端:Windows 8.MS页面通常列出所需的最低版本,除了XP支持已经从许多页面中删除,所以XP兼容功能现在被列为需要Vista。谢谢@BACON。你或许应该加上这个作为答案。我想我没有足够的耐心滚动到页面底部!已从-1标记备份到0,因为我发现此帖子有用有人在Windows 7上找到MSFT_PhysicalDisk的替代品吗?有人在Windows 7上找到MSFT_PhysicalDisk的替代品吗?