Моя цель — связать пару «номер диска и раздела» с буквой логического диска для этого тома. Например, в этой конфигурации:
для составного объема F:
Я бы предположил, чтобы получить:
Volume F:
PhysicalDrive1-Partition1
PhysicalDrive2-Partition1
Таким образом, чтобы получить номера физических дисков, которые охватывает том, который я использую IOCTL_VOLUME_GET_VOLUME_DISK_EXTENTS контрольный код для DeviceIoControl
API как описано здесь (они неправильно распределяют память для DeviceIoControl
Вызов API, но это выходит за рамки этого вопроса.)
Так что в моем примере для объема F:
Я получаю два DISK_EXTENT структуры, которые я могу использовать для получения номеров физических дисков, используя DiskNumber
член.
У меня вопрос, как мне получить соответствующие номера разделов?
PS. Причина, по которой мне нужны эти номера разделов, заключается в том, что я могу связать буквы дисков тома с разделами диска во IOCTL_DISK_GET_DRIVE_LAYOUT_EX используя ручку привода, которая была открыта как "\\?\PhysicalDriveX"
где X
обозначает номер диска.
Задача ещё не решена.
Других решений пока нет …