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


IOCTL_VOLUME_ONLINE IOCTL (ntddvol.h)

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

Обычное использование IOCTL_VOLUME_ONLINE — это случай, когда диспетчер подключений автоматически помещает новый том в состояние ONLINE при поступлении тома, если этот том не указан в разделе реестра, заполненном службой кластера. IOCTL_VOLUME_ONLINE вызывается для съемных дисков независимо от параметра NoAutoMount в следующем разделе реестра:

HKCU\System\CurrentControlSet\Services\Mountmgr\NoAutoMount

Но для томов, контролируемых NoAutoMount, назначение буквы диска приведет к вызову IOCTL_VOLUME_ONLINE.

Для томов, контролируемых службой кластера, IOCTL_VOLUME_ONLINE отправляется службой кластера, когда локальный узел владеет томом. Служба кластера использует как IOCTL_VOLUME_ONLINE, так и IOCTL_VOLUME_ONLINE, чтобы разрешить операции ввода-вывода тому диска, если том диска принадлежит локальному серверу. До тех пор, пока служба кластера не помещает том диска в состояние ONLINE, для тома диска не разрешено ввода-вывода. Это предотвращает повреждение тома диска, которое может привести к одновременной записи нескольких узлов кластера на один и тот же том диска.

Основной код

IRP_MJ_DEVICE_CONTROL

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

Никакой.

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

Никакой.

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

Никакой.

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

Никакой.

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows XP.
заголовка ntddvol.h (include Ntddvol.h)

См. также

IOCTL_VOLUME_OFFLINE