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


IOCTL_VOLUME_OFFLINE IOCTL (ntddvol.h)

IOCTL_VOLUME_OFFLINE IOCTL переводит том в состояние OFFLINE, которое представляет собой состояние, в котором операции чтения и записи завершаются сбоем. Запросы не будут передаваться на физический диск до получения последующего IOCTL_VOLUME_ONLINE .

Часто для IOCTL_VOLUME_OFFLINE используется случай, когда одно приложение или драйвер хочет предотвратить повторное подключение тома с помощью вызова для открытия тома из второго приложения или драйвера, пока том находится в процессе удаления первым приложением или драйвером. Например, перед маскированием номера логической единицы (LUN) тома в LUN должны быть заблокированы (необязательно), отключены, отключены и удалены. Теперь LUN можно маскировать, не вызывая события неожиданного удаления Plug and Play (PnP) для томов и самого диска. Без вызова для вывода тома в автономный режим после закрытия дескриптора, используемого для его отключения, том может быть повторно подключен вызовом, чтобы открыть его из другого приложения или драйвера, если это произошло до вызова для удаления тома. Вызов для открытия тома завершается успешно на автономном томе, но операции ввода-вывода, направленные на автономный том, завершатся сбоем. Отключение тома в автономном режиме не влияет на дисковые операции ввода-вывода (если приложение или драйвер открыли дескриптор для диска), но останавливает операции ввода-вывода тома (если приложение или драйвер открыли дескриптор тома).

Основной код

IRP_MJ_DEVICE_CONTROL

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

Нет.

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

Нет.

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

Нет.

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

Нет.

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

Для элемента Status задано значение STATUS_SUCCESS.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows XP.
Верхняя часть ntddvol.h (включая Ntddvol.h)

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

IOCTL_VOLUME_ONLINE