FltDeleteVolumeContext 函数 (fltkernel.h)

FltDeleteVolumeContext 删除给定微型筛选器驱动程序为给定卷设置的上下文,并标记要删除的上下文。

语法

NTSTATUS FLTAPI FltDeleteVolumeContext(
  [in]            PFLT_FILTER  Filter,
  [in]            PFLT_VOLUME  Volume,
  [out, optional] PFLT_CONTEXT *OldContext
);

参数

[in] Filter

调用方不透明筛选器指针。

[in] Volume

卷的不透明卷指针。

[out, optional] OldContext

指向接收已删除上下文地址的调用方分配的变量的指针。 此参数是可选的,可为 NULL。 如果 OldContext 不是 NULL 且不指向NULL_CONTEXT,则调用方负责调用 FltReleaseContext ,以便在不再需要此上下文时释放此上下文。

返回值

FltDeleteVolumeContext 返回STATUS_SUCCESS或相应的 NTSTATUS 值,例如以下值之一:

返回代码 说明
STATUS_FLT_DELETING_OBJECT 指定的 正在被拆毁。 这是一个错误代码。
STATUS_NOT_FOUND 找不到匹配的上下文。 这是一个错误代码。

注解

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

由于上下文是引用计数的,因此通常不需要微型筛选器驱动程序调用 FltDeleteVolumeContext 等例程来显式删除上下文。

微型筛选器驱动程序调用 FltDeleteVolumeContext 从卷中删除上下文,并标记要删除的上下文。 上下文通常立即释放,除非有一个未完成的引用 (,例如,因为上下文仍在由另一个线程) 使用。

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

若要获取卷上下文,请调用 FltGetVolumeContext

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

要求

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

另请参阅

FltAllocateContext

FltDeleteContext

FltGetVolumeContext

FltReleaseContext

FltSetVolumeContext