fltReleaseContext 函数 (fltkernel.h)

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

语法

VOID FLTAPI FltReleaseContext(
  [in] PFLT_CONTEXT Context
);

参数

[in] Context

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

返回值

备注

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

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

注意

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

每次成功调用 FltAllocateContextFltGetXxxContextFltReferenceContext 最终都必须通过对 FltReleaseContext 的调用进行匹配。

请注意,FltSetXxxContext 返回的 OldContext 指针和用于调用 FltDeleteContextContext 参数也必须在不再需要时通过调用 FltReleaseContext 来释放它们。

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

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

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

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

要求

要求
目标平台 通用
标头 fltkernel.h (包括 Fltkernel.h)
Library 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