IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE IOCTL (mountmgr.h)
Этот IOCTL предписывает диспетчеру подключений сохранять символьную ссылку активной после того, как диспетчер Plug and Play выдал уведомление о том, что соответствующий том перешел в автономный режим. При возврате тома в оперативный режим диспетчер подключения переназначает символьную ссылку на том. Никакие другие тома не могут запрашивать символьную ссылку, пока его исходный владелец находится в автономном режиме.
Кластеры используют этот IOCTL, чтобы гарантировать, что узел может продолжать обращаться к тому с той же буквой диска, даже если том не постоянно присутствует в системе.
Основной код
Входной буфер
Клиент диспетчера подключений загружает следующую структуру с символьной ссылкой, которая сохранится даже после удаления тома из системы. Инициализированная структура MOUNTMGR_TARGET_NAME вставляется в начало буфера в Irp-AssociatedIrp.SystemBuffer>.
Длина входного буфера
Parameters.DeviceIoControl.InputBufferLength в расположении стека ввода-вывода IRP указывает размер входного буфера в байтах, который должен быть больше или равен sizeof(MOUNTMGR_TARGET_NAME)
.
Выходной буфер
Нет.
Длина выходного буфера
Нет.
Буфер входных и выходных данных
Н/Д
Длина входного/выходного буфера
Н/Д
Блок состояния
Если операция выполнена успешно, в поле Состояние устанавливается значение STATUS_SUCCESS.
Размер входного буфера, указанный параметром InputBufferLength, должен быть достаточно большим, чтобы вместить структуру MOUNTMGR_TARGET_NAME и имя символьной ссылки, которая следует за ней. Если он недостаточно велик, для поля Состояние устанавливается значение STATUS_INVALID_PARAMETER.
Комментарии
Дополнительные сведения см. в статье Поддержка запросов диспетчера подключений в драйвере класса хранения.
Требования
Требование | Значение |
---|---|
Заголовок | mountmgr.h (включая Mountmgr.h) |