IOCTL_MOUNTMGR_KEEP_LINKS_WHEN_OFFLINE IOCTL (mountmgr.h)

Этот IOCTL предписывает диспетчеру подключения сохранять символьную ссылку активной после того, как диспетчер Plug and Play уведомит о том, что соответствующий том перешел в автономный режим. При возврате тома в оперативный режим диспетчер подключения переназначает символьную ссылку на том. Никакие другие тома не могут запрашивать символьную ссылку, пока его исходный владелец находится в автономном режиме.

Кластеры используют этот IOCTL, чтобы гарантировать, что узел может продолжать обращаться к тому с той же буквой диска, даже если том не постоянно присутствует в системе.

Основной код

IRP_MJ_DEVICE_CONTROL

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

Клиент диспетчера подключений загружает следующую структуру с символьной ссылкой, которая сохранится даже после удаления тома из системы. Инициализированная структура MOUNTMGR_TARGET_NAME, определенная в Mountmgr.h, вставляется в начало буфера в Irp-AssociatedIrp.SystemBuffer>.

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

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

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

None

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

None

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

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

Размер входного буфера, указанный параметром InputBufferLength, должен быть достаточно большим, чтобы вместить структуру MOUNTMGR_TARGET_NAME и имя символьной ссылки, которая следует за ней. Если он недостаточно велик, для поля Состояние устанавливается значение STATUS_INVALID_PARAMETER.

Требования

Требование Значение
Заголовок mountmgr.h (включая Mountmgr.h)

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

MOUNTMGR_TARGET_NAME