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


Функция 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 задать контексту значение NULL_CONTEXT. Это код ошибки.
STATUS_NOT_SUPPORTED Файловая система не поддерживает контексты для каждого потока для этого потока. Это код ошибки.

Замечания

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

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

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

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

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

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

Требования

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

См. также

FltAllocateContext

FltDeleteContext

FltDeleteStreamHandleContext

FltReleaseContext

FltSetStreamHandleContext