IOCTL_VOLUME_PHYSICAL_TO_LOGICAL IOCTL (ntddvol.h)
Возвращает логическое смещение, соответствующее физическому номеру диска и физическому смещение.
Диспетчер томов поддерживает этот протокол IOCTL, как описано для всех типов базовых и динамических томов.
Основной код
Входной буфер
Вызывающий объект вставляет структуру 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) |