Функция FltOpenVolume (fltkernel.h)
Подпрограмма FltOpenVolume возвращает дескриптор и указатель файлового объекта для тома файловой системы, к которому подключен данный экземпляр драйвера минифильтра.
Синтаксис
NTSTATUS FLTAPI FltOpenVolume(
[in] PFLT_INSTANCE Instance,
[out] PHANDLE VolumeHandle,
[out] PFILE_OBJECT *VolumeFileObject
);
Параметры
[in] Instance
Указатель непрозрачного экземпляра для экземпляра. Этот экземпляр должен быть присоединен к локальному тому.
[out] VolumeHandle
Дескриптор для тома файловой системы.
[out] VolumeFileObject
Указатель на переменную, выделенную вызывающим объектом, которая получает указатель на файловый объект для корневого каталога тома. Этот параметр является необязательным и может иметь значение NULL.
Возвращаемое значение
FltOpenVolume возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например следующее:
Код возврата | Описание |
---|---|
|
Экземпляр или том сносится. Это код ошибки. |
|
Экземпляр подключен к сетевому тому. Это код ошибки. |
Комментарии
Если дескриптор, возвращаемый в параметре VolumeHandle , больше не нужен, вызывающий объект должен освободить его, вызвав FltClose. Таким образом, каждый успешный вызов FltOpenVolume должен соответствовать последующему вызову FltClose.
Если указатель на объект файла возвращается в параметре VolumeFileObject , вызывающий объект должен освободить его, когда он больше не нужен, вызвав ObDereferenceObject.
Экземпляр, указанный параметром Instance, должен быть присоединен к локальному тому. Если он подключен к сетевому тому, Функция FltOpenVolume возвращает STATUS_INVALID_PARAMETER.
Чтобы получить указатель на объект устройства для заданного тома, вызовите FltGetDeviceObject.
Чтобы получить подробные сведения о томе, к которому присоединен данный экземпляр, вызовите FltQueryVolumeInformation.
ПРИМЕЧАНИЕ. Не вызывайте эту подпрограмму со значением IRP верхнего уровня, отличном от NULL, так как это может привести к взаимоблокировке системы. Чтобы определить, задан ли поток TopLevelIrp, вызовите IoGetTopLevelIrp.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в пакете обновления 1 для Microsoft Windows 2000 с пакетом обновления 1 (SP4), Windows XP с пакетом обновления 3 (SP3), Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних версиях операционной системы Windows. |
Целевая платформа | Универсальное |
Верхняя часть | fltkernel.h (включая Fltkernel.h) |
Библиотека | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | PASSIVE_LEVEL |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по