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