FltReleaseContext 函数 (fltkernel.h)

FltReleaseContext 减少上下文上的引用计数。

语法

VOID FLTAPI FltReleaseContext(
  [in] PFLT_CONTEXT Context
);

参数

[in] Context

指向上下文的指针。 必须是指向卷、实例、流或流句柄的上下文对象的有效指针。 此参数是必需的,不能 NULL

返回值

没有

言论

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

微型筛选器驱动程序调用 FltReleaseContext 来释放上下文。 FltReleaseContext 递减给定上下文中的引用计数。 当引用计数达到零时,如果调用方在 IRQL 上运行 <= APC_LEVEL,则立即释放上下文。 如果调用方在 IRQL DISPATCH_LEVEL运行,则会计划工作项释放上下文。

注意

FltReleaseContext 返回后,调用方不得使用上下文,因为上下文可能已被释放。

每次成功调用 FltAllocateContextFltGetXxxContext,或 FltReferenceContext 调用最终都必须匹配 FltReleaseContext

请注意,FltSetXxxContext 返回的 OldContext 指针以及用于调用 FltDeleteContextContext 参数也必须通过调用 FltReleaseContext 来释放它们。

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

若要递增上下文的引用计数,请调用 FltReferenceContext

有关上下文引用计数的详细信息,请参阅 引用上下文

如果上下文是从非分页池分配的,则 FltReleaseContext 的调用方必须在 IRQL <= DISPATCH_LEVEL运行。 如果从分页池分配上下文,则调用方必须在 IRQL <= APC_LEVEL 运行。

要求

要求 价值
目标平台 普遍
标头 fltkernel.h (包括 Fltkernel.h)
FltMgr.lib
DLL Fltmgr.sys
IRQL 请参阅“备注”部分。

另请参阅

FltAllocateContext

FltDeleteContext

FltGetContexts

FltGetContextsEx

FltGetFileContext

FltGetInstanceContext

FltGetSectionContext

FltGetStreamContext

FltGetStreamHandleContext

FltGetTransactionContext

FltGetVolumeContext

FltReferenceContext

FltReleaseContexts

FltSetFileContext

FltSetInstanceContext

FltSetStreamContext

FltSetStreamHandleContext

FltSetTransactionContext

FltSetVolumeContext