FltGetContexts 函数 (fltkernel.h)

FltGetContexts 例程检索与当前作相关的对象的微筛选器驱动程序上下文。

语法

VOID FLTAPI FltGetContexts(
  PCFLT_RELATED_OBJECTS FltObjects,
  FLT_CONTEXT_TYPE      DesiredContexts,
  PFLT_RELATED_CONTEXTS Contexts
);

参数

FltObjects

[in]指向 FLT_RELATED_OBJECTS 结构的指针,该结构包含与当前作相关的对象的不透明指针。 有关此参数的详细信息,请参阅“备注”部分。

DesiredContexts

[in]标识要检索的上下文类型。 此参数可以是以下值的按位 OR。

不断 价值
FLT_VOLUME_CONTEXT 0x0001
FLT_INSTANCE_CONTEXT 0x0002
FLT_FILE_CONTEXT 0x0004
FLT_STREAM_CONTEXT 0x0008
FLT_STREAMHANDLE_CONTEXT 0x0010
FLT_TRANSACTION_CONTEXT 0x0020
FLT_SECTION_CONTEXT(从 Windows 8 开始) 020040
FLT_ALL_CONTEXTS 所有上下文值的按位 OR

Contexts

[out]指向接收所请求上下文的调用方分配 FLT_RELATED_CONTEXTS 结构的指针。 此参数是必需的,不能设置为 NULL。 FltMgr 将结构成员设置为零,

  • 调用方未请求的上下文。
  • 调用方请求但 FltMgr 找不到的上下文。

返回值

没有。

言论

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

微型筛选器驱动程序调用 FltGetContexts,以检索指向 FLT_RELATED_OBJECTS 结构中对象的微型筛选器驱动程序上下文的指针。

以下微筛选器驱动程序回调例程类型接收指向 FLT_RELATED_OBJECTS 结构的指针,作为 FltObjects 输入参数:

FltGetContexts 递增 FLT_RELATED_CONTEXTS 结构中 上下文 参数指向的每个上下文的引用计数。 因此,对于 FltGetContexts的每个成功调用,调用方必须:

  • 上下文 参数指向的整个结构调用 FltReleaseContexts
  • 为结构中返回的每个上下文调用 FltReleaseContext,并将结构中返回的每个上下文字段设置为零。

要求

要求 价值
目标平台 普遍
标头 fltkernel.h (包括 Fltkernel.h)
FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

另请参阅

FLT_RELATED_CONTEXTS

FLT_RELATED_OBJECTS

FltGetContextsEx

FltRegisterFilter

FltReleaseContext

FltReleaseContexts

PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK

PFLT_INSTANCE_SETUP_CALLBACK

PFLT_INSTANCE_TEARDOWN_CALLBACK

PFLT_POST_OPERATION_CALLBACK

PFLT_PRE_OPERATION_CALLBACK