Поделиться через


IOCTL_VOLUME_PHYSICAL_TO_LOGICAL IOCTL (ntddvol.h)

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

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

Основной код

IRP_MJ_DEVICE_CONTROL

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

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

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

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

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

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

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

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

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

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

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

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

Требования

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

См. также

IOCTL_VOLUME_LOGICAL_TO_PHYSICAL

VOLUME_LOGICAL_OFFSET

VOLUME_PHYSICAL_OFFSET

VOLUME_PHYSICAL_OFFSETS