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

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

Синтаксис

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

Параметры

[in] Instance

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

[in] FileObject

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

[out] Context

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

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

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

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

Комментарии

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

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

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

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

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

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

Требования

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

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

FltAllocateContext

FltDeleteContext

FltDeleteStreamHandleContext

FltReleaseContext

FltSetStreamHandleContext