我的目标是关联一对"驱动器和分区号码"使用该卷的逻辑驱动器号。例如,在此配置中:
对于跨越的卷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"
代表车号。