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


Способ подключения тома

Примечание

Для оптимальной надежности и производительности используйте драйверы минифильтров файловой системы с поддержкой диспетчера фильтров вместо устаревших драйверов фильтров файловой системы. Сведения о переносе устаревшего драйвера в драйвер минифильтра см. в статье Рекомендации по переносу устаревших драйверов фильтров.

После распознавания тома способ подключения тома зависит от файловой системы и от того, подключен ли он ранее.

Когда файловая система получает запрос на подключение тома для нового тома, она создает объект устройства тома (VDO) для тома. VDO состоит из DEVICE_OBJECT и дополнительного расширения устройства, определяемого файловой системой. Созданный VDO формирует основу стека томов файловой системы для нового (или повторного подключения) тома.

Файловая система подключает том, связывая VDO с блоком параметров тома (VPB) для соответствующего объекта запоминающего устройства и устанавливает флаг VPB_MOUNTED на VPB.

После подключения тома файловой системой драйверы фильтров файловой системы могут подключаться к верхней части нового стека томов файловой системы. Все запросы ввода-вывода, отправленные в файловую систему, автоматически отправляются в объект устройства фильтра файловой системы в верхней части стека томов. Однако фильтры файловой системы должны отсоединяться от стека томов только тогда, когда диспетчер операций ввода-вывода отправляет быстрый запрос на отсоединение ввода-вывода, чтобы уведомить драйверы в стеке томов о том, что том будет удален.

Пример см. в разделе Пример подключения томов .

Примечание

Объект запоминающее устройство для тома находится в стеке устройств хранения, но это не обязательно самый верхний объект устройства в стеке. Кроме того, даже после подключения тома драйверы фильтров хранилища по-прежнему могут подключаться к верхней части стека хранилища. Для записи драйверов важно помнить, что, когда файловая система отправляет IRP из VDO в стек запоминающих устройств, она отправляет его в объект запоминающего устройства для тома, а не в самый верхний объект устройства в стеке. (Однако, когда диспетчер ввода-вывода отправляет IRP непосредственно в стек хранилища, минуя файловую систему, этот IRP отправляется в самый верхний объект устройства в стеке.)