IOCTL_VOLUME_LOGICAL_TO_PHYSICAL IOCTL (ntddvol.h)

Возвращает физические смещения и номера физических дисков для заданного логического смещения тома.

Например, смещение логического тома внутри зеркального тома с двумя plex соответствует двум физическим смещениям, по одному в каждом из двух дисков, участвующих в зеркальном отображении. В ответ на этот IOCTL диспетчер томов возвращает два физических смещения и два номера физического диска для смещения логического тома.

Диспетчер томов поддерживает этот IOCTL для всех типов базовых и динамических томов.

Основной код

IRP_MJ_DEVICE_CONTROL

Входной буфер

Вызывающий объект вставляет структуру VOLUME_LOGICAL_OFFSET, содержащую логическое смещение в начале буфера в Irp->AssociatedIrp.SystemBuffer.

Длина входного буфера

Parameters.DeviceIoControl.InputBufferLength в расположении стека ввода-вывода iRP указывает размер входного буфера в байтах, который должен быть больше или равен значению размер(VOLUME_LOGICAL_OFFSET).

Выходной буфер

Размер выходного буфера должен быть достаточно большим для хранения структуры VOLUME_PHYSICAL_OFFSETS, которая содержит массив структур типа VOLUME_PHYSICAL_OFFSETпеременной длины.

Диспетчер томов возвращает одно или несколько физических смещения и номера дисков в структуре VOLUME_PHYSICAL_OFFSETS в начале буфера в Irp->AssociatedIrp.SystemBuffer.

Длина выходного буфера

Parameters.DeviceIoControl.OutputBufferLength в расположении стека ввода-вывода iRP указывает размер в байтах выходного буфера.

Блок состояния

Если операция выполнена успешно, для элемента состояния задано значение STATUS_SUCCESS. В противном случае для элемента состояния задан соответствующий код ошибки. Возможные коды ошибок включают следующие:

STATUS_BUFFER_TOO_SMALL

Буфер вывода слишком мал. Диспетчер томов задает элемент Irp->IoStatus.Information размер выходного буфера, который должен был предоставить вызывающий объект.

STATUS_INVALID_PARAMETER

Входной буфер слишком мал.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows XP.
заголовка ntddvol.h (include Ntddvol.h)

См. также

IOCTL_VOLUME_PHYSICAL_TO_LOGICAL

VOLUME_LOGICAL_OFFSET

VOLUME_PHYSICAL_OFFSET

VOLUME_PHYSICAL_OFFSETS