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

Подпрограмма FltGetFileContext извлекает контекст, заданный для файла заданным экземпляром драйвера минифильтра.

Синтаксис

NTSTATUS FLTAPI FltGetFileContext(
  [in]  PFLT_INSTANCE Instance,
  [in]  PFILE_OBJECT  FileObject,
  [out] PFLT_CONTEXT  *Context
);

Параметры

[in] Instance

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

[in] FileObject

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

[out] Context

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

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

Функция FltGetFileContext возвращает STATUS_SUCCESS при успешном возвращении контекста запрошенного файла. В противном случае возвращается соответствующее значение NTSTATUS, например одно из следующих значений:

Код возврата Описание
STATUS_NOT_FOUND В данный момент соответствующий контекст в этом файле не найден, поэтому FltMgr устанавливает для параметра Context значение NULL_CONTEXT. Это код ошибки.
STATUS_NOT_SUPPORTED Контексты файлов для этого файла не поддерживаются. Это код ошибки.

Комментарии

Дополнительные сведения о контекстах см. в разделе О контекстах минифильтра.

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

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

Чтобы задать контекст файла, вызовите FltSetFileContext.

Чтобы выделить новый контекст, вызовите FltAllocateContext.

Чтобы удалить контекст файла, вызовите Метод FltDeleteFileContext или FltDeleteContext.

Чтобы определить, поддерживаются ли контексты файлов для данного файла, вызовите FltSupportsFileContexts или FltSupportsFileContextsEx.

Требования

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

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

FLT_CONTEXT_REGISTRATION

FltAllocateContext

FltDeleteContext

FltDeleteFileContext

FltReleaseContext

FltSetFileContext

FltSupportsFileContexts

FltSupportsFileContextsEx