gpt4 book ai didi

c# - 如何确定给定磁盘的 SATA channel ?

转载 作者:太空狗 更新时间:2023-10-29 20:42:07 26 4
gpt4 key购买 nike

使用 DISKPART命令行实用程序,我可以获得称为“位置路径”的东西,它似乎可以满足我的需要,您可以使用命令 detail disk 查看它在 diskpart 中选择您的一个磁盘后.

看来我可以通过此类以编程方式获取此信息:MSFT_Disk

我不确定如何获取此类的实例。我有几个使用 ManagementObjectSearcher 的例子对于 WMI类,但该方法对我不起作用,我也不确定 MSFT_Disk在 Windows 7 中的可用性,因为该页面提到它适用于 Windows 8。

有谁知道获取 SATA channel 信息或磁盘“位置路径”的好方法吗?

最佳答案

如果您不想安装 Windows 8,我相信 WMI 是您的不二之选:

using System;
using System.Linq;
using System.Management;

namespace DiskScanPOC
{
class Program
{
static void Main()
{
var managementScope = new ManagementScope();

//get disk drives
var query = new ObjectQuery("select * from Win32_DiskDrive");
var searcher = new ManagementObjectSearcher(managementScope, query);
var oReturnCollection = searcher.Get();

//List all properties available, in case the below isn't what you want.
var colList = oReturnCollection.Cast<ManagementObject>().First();
foreach (var property in colList.Properties)
{
Console.WriteLine("Property: {0} = {1}", property.Name, property.Value);
}

//loop through found drives and write out info
foreach (ManagementObject oReturn in oReturnCollection)
{
Console.WriteLine("Name : " + oReturn["Name"]);
Console.WriteLine("Target Id: " + oReturn["SCSITargetId"]);
Console.WriteLine("Port: " + oReturn["SCSIPort"]);
}
Console.Read();
}
}
}

我没有打开机箱来验证 SATA 端口号,但上面的应用程序看起来在我配备 3 个 SATA 硬盘驱动器的机器上给出了合理的结果。

关于c# - 如何确定给定磁盘的 SATA channel ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11979982/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com