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 此时此文件上找不到匹配的上下文,因此 FltMgrContext 设置为 NULL_CONTEXT。 这是错误代码。
STATUS_NOT_SUPPORTED 文件系统不支持此文件流的每个流上下文。 这是错误代码。

注解

有关上下文的详细信息,请参阅 关于微筛选器上下文

FltGetStreamHandleContext 检索由给定微筛选器驱动程序为流句柄设置的上下文。

FltGetStreamHandleContext 递增 Context 参数指向的上下文上的引用计数。 当不再需要此上下文指针时,调用方必须通过调用 FltReleaseContext 来递减其引用计数。 因此,每次成功调用 FltGetStreamHandleContext 都必须与对 FltReleaseContext 的后续调用相匹配。

若要为流句柄设置上下文,请调用 FltSetStreamHandleContext

若要分配新上下文,请调用 FltAllocateContext

若要删除流句柄上下文,请调用 FltDeleteStreamHandleContextFltDeleteContext

要求

要求
目标平台 通用
标头 fltkernel.h (包括 Fltkernel.h)
Library FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

另请参阅

FltAllocateContext

FltDeleteContext

FltDeleteStreamHandleContext

FltReleaseContext

FltSetStreamHandleContext