Функция FltGetVolumeFromFileObject (fltkernel.h)

Подпрограмма FltGetVolumeFromFileObject возвращает непрозрачный указатель для тома, на котором находится данный файловый поток.

Синтаксис

NTSTATUS FLTAPI FltGetVolumeFromFileObject(
  [in]  PFLT_FILTER  Filter,
  [in]  PFILE_OBJECT FileObject,
  [out] PFLT_VOLUME  *RetVolume
);

Параметры

[in] Filter

Указатель непрозрачного фильтра для вызывающего объекта. Этот параметр является обязательным и не может иметь значение NULL.

[in] FileObject

Указатель на файловый объект для файлового потока, который находится на томе.

[out] RetVolume

Указатель на переменную, выделенную вызывающим объектом, которая получает непрозрачный указатель на том. Этот параметр является обязательным и не может иметь значение NULL.

Возвращаемое значение

FltGetVolumeFromFileObject возвращает STATUS_SUCCESS или соответствующее значение NTSTATUS, например одно из следующих значений:

Код возврата Описание
STATUS_FLT_DELETING_OBJECT
Том сносится. Это код ошибки.
STATUS_INVALID_PARAMETER
Соответствующий том не найден. Это код ошибки.

Комментарии

FltGetVolumeFromFileObject добавляет ссылку на непрозрачный указатель тома, возвращенный в параметре RetVolume . Если этот указатель больше не нужен, вызывающий объект должен освободить его, вызвав FltObjectDereference. Таким образом, каждый успешный вызов FltGetVolumeFromFileObject должен соответствовать последующему вызову FltObjectDereference.

Чтобы получить указатель на объект устройства для заданного тома, вызовите FltGetDeviceObject.

Требования

Требование Значение
Целевая платформа Универсальное
Верхняя часть fltkernel.h (включая Fltkernel.h)
Библиотека FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

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

FltGetDeviceObject

FltGetDiskDeviceObject

FltGetVolumeFromDeviceObject

FltObjectDereference