Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 是否使用WMI查询获取装入点的相应物理磁盘驱动器?_C#_Wmi - Fatal编程技术网

C# 是否使用WMI查询获取装入点的相应物理磁盘驱动器?

C# 是否使用WMI查询获取装入点的相应物理磁盘驱动器?,c#,wmi,C#,Wmi,是否有方法通过WMI检索装入点(装入文件系统而不是装入驱动器号的卷)与其所属物理磁盘驱动器之间的连接 例如,我在W2K8服务器上安装了一个卷挂载点,该挂载点被挂载到“C:\Data\”上,挂载点分布在服务器的物理磁盘驱动器2、4和5上(服务器管理器的数据管理显示了这一点),但我无法通过使用WMI找到了解这一点的方法 具有驱动器号的卷可以连接到WMI类Win32\u DiskDrive-->Win32\u DiskDrive ToDiskPartition-->Win32\u DiskPartit

是否有方法通过WMI检索装入点(装入文件系统而不是装入驱动器号的卷)与其所属物理磁盘驱动器之间的连接

例如,我在W2K8服务器上安装了一个卷挂载点,该挂载点被挂载到“C:\Data\”上,挂载点分布在服务器的物理磁盘驱动器2、4和5上(服务器管理器的数据管理显示了这一点),但我无法通过使用WMI找到了解这一点的方法

具有驱动器号的卷可以连接到WMI类Win32\u DiskDrive-->Win32\u DiskDrive ToDiskPartition-->Win32\u DiskPartition-->Win32\u LogicalDisk分区-->Win32\u LogicalDisk-->Win32\u LogicalDisk–但问题是,卷装入点没有列在Win32\u LogicalDisk类中,它们只列在Win32\u卷中。我没有找到一种方法来连接Win32_类卷和Win32_类DiskDrive–缺少一些链接类


有人知道解决方案吗?

我知道的唯一方法是使用Win32 API来帮助

您可以使用稍微修改的.DeviceID来创建卷。可以使用以下格式打开卷的句柄:

\\.\Volume{[GUID]}
然后,您需要在打开的句柄上发出以检索结构。此结构将包含卷的物理磁盘ID列表

使用这些磁盘ID,您可以在.Index上查询WMI以获得匹配的磁盘