IOCTL_VOLUME_PHYSICAL_TO_LOGICAL IOCTL (ntddvol.h)

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

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

Основной код

IRP_MJ_DEVICE_CONTROL

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

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

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

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

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

Диспетчер томов возвращает логическое смещение в структуре VOLUME_LOGICAL_OFFSET в начале буфера в Irp-AssociatedIrp.SystemBuffer>.

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

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

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

Если операция выполнена успешно, для элемента Status устанавливается значение STATUS_SUCCESS.

Если входной или выходной буфер слишком мал, диспетчер томов устанавливает для элемента Status значение STATUS_BUFFER_TOO_SMALL. Если данные возвращаются в выходном буфере, но буфер слишком мал для получения всех этих данных, диспетчер томов устанавливает для элемента Status значение STATUS_BUFFER_OVERFLOW. Для элемента Information задается размер выходного буфера, предоставленного вызывающим объектом.

Если указанный номер физического диска и физическое смещение не принадлежат тому или они взяты из данных четности RAID, этот вызов завершится ошибкой с STATUS_INVALID_PARAMETER.

Требования

Требование Значение
Минимальная версия клиента Доступно, начиная с Windows XP.
Верхняя часть ntddvol.h (включая Ntddvol.h)

См. также раздел

IOCTL_VOLUME_LOGICAL_TO_PHYSICAL

VOLUME_LOGICAL_OFFSET

VOLUME_PHYSICAL_OFFSET

VOLUME_PHYSICAL_OFFSETS