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


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

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

Синтаксис

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

Параметры

[in] Instance

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

[in] FileObject

Указатель на объект файла для потока.

[out] Context

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

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

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

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

Замечания

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

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

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

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

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

Чтобы удалить контекст потока, вызовите FltDeleteStreamContext или FltDeleteContext.

Требования

Требование Ценность
целевая платформа Всеобщий
заголовка fltkernel.h (include Fltkernel.h)
библиотеки FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

См. также

FltAllocateContext

FltDeleteContext

FltDeleteStreamContext

FltReleaseContext

FltSetStreamContext