如何将卷驱动器号与相应的磁盘分区关联?

时间:2015-10-27 04:56:19

标签: c++ c winapi filesystems kernel32

我的目标是关联一对"驱动器和分区号码"使用该卷的逻辑驱动器号。例如,在此配置中:

enter image description here

对于跨越的卷F:我会假设得到:

Volume F:
  PhysicalDrive1-Partition1
  PhysicalDrive2-Partition1

因此,要获取卷跨越的物理驱动器号,我使用IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS DeviceIoControl API的described here控制代码DISK_EXTENT(他们不会为{{1}正确分配内存API调用,但这不属于这个问题的范围。)

因此,在我的卷DeviceIoControl示例中,我使用F:成员获得了两个IOCTL_DISK_GET_DRIVE_LAYOUT_EX结构,用于获取物理驱动器号。

我的问题是如何获得相应的分区号?

PS。我需要这些分区号的原因是,我可以使用以DiskNumber打开的驱动器句柄稍后调用jsFiddle将卷驱动器号与磁盘分区关联,其中"\\?\PhysicalDriveX"代表车号。

0 个答案:

没有答案