FltDeleteTransactionContext 函数 (fltkernel.h)
FltDeleteTransactionContext 例程从给定事务中删除上下文,并标记要删除的上下文。
语法
NTSTATUS FLTAPI FltDeleteTransactionContext(
[in] PFLT_INSTANCE Instance,
[in] PKTRANSACTION Transaction,
[out, optional] PFLT_CONTEXT *OldContext
);
参数
[in] Instance
调用方不透明实例指针。
[in] Transaction
正在删除其上下文的事务的不透明事务指针。
[out, optional] OldContext
指向接收已删除上下文地址的调用方分配的变量的指针。 此参数是可选的,可以 NULL。 如果 OldContext 未 NULL 且不指向NULL_CONTEXT,则调用方负责调用 FltReleaseContext 在不再需要上下文时释放此上下文。
返回值
FltDeleteTransactionContext 返回STATUS_SUCCESS或相应的 NTSTATUS 值,如下所示:
返回代码 | 描述 |
---|---|
STATUS_FLT_DELETING_OBJECT | 指定的 实例 正在被拆毁。 这是一个错误代码。 |
STATUS_NOT_FOUND | 找不到匹配的上下文。 这是一个错误代码。 |
言论
有关上下文的详细信息,请参阅 关于小型筛选器上下文。
由于上下文是引用计数的,因此小型筛选驱动程序通常不需要调用例程(如 FltDeleteTransactionContext)来显式删除上下文。
微型筛选器驱动程序调用 FltDeleteTransactionContext 从事务中删除上下文并标记要删除的上下文。 上下文通常立即释放,除非有未完成的引用(例如,因为上下文仍在由另一个线程使用)。
若要分配新上下文,请调用 FltAllocateContext。
若要检索事务上下文,请调用 FltGetTransactionContext。
若要设置事务上下文,请调用 FltSetTransactionContext。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows Vista 及更高版本 |
目标平台 | 普遍 |
标头 | fltkernel.h (包括 Fltkernel.h) |
库 | FltMgr.lib |
IRQL | <= APC_LEVEL |