FltGetVolumeContext 函数 (fltkernel.h)

FltGetVolumeContext 例程检索由给定微筛选器驱动程序为卷设置的上下文。

语法

NTSTATUS FLTAPI FltGetVolumeContext(
  [in]  PFLT_FILTER  Filter,
  [in]  PFLT_VOLUME  Volume,
  [out] PFLT_CONTEXT *Context
);

参数

[in] Filter

调用方不透明的筛选器指针。 此参数是必需的,不能为 NULL。

[in] Volume

正在检索其上下文的卷的不透明指针。 此参数是必需的,不能为 NULL。

[out] Context

指向调用方分配的变量的指针,该变量接收所请求上下文的地址。 此参数是必需的,不能设置为 NULL。

返回值

FltGetVolumeContext 在成功返回请求的上下文时返回STATUS_SUCCESS。 否则,它将返回相应的 NTSTATUS 值,如下所示:

返回代码 说明
STATUS_NOT_FOUND 此时此文件上找不到匹配的上下文,因此 FltMgrContext 设置为 NULL_CONTEXT。 这是错误代码。

注解

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

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

若要为卷设置上下文,请调用 FltSetVolumeContext

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

若要删除卷上下文,请调用 FltDeleteVolumeContextFltDeleteContext

要求

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

另请参阅

FltAllocateContext

FltDeleteContext

FltDeleteVolumeContext

FltReleaseContext

FltSetVolumeContext