FltCommitFinalizeComplete 函数 (fltkernel.h)
FltCommitFinalizeComplete 例程确认TRANSACTION_NOTIFY_COMMIT_FINALIZE通知。
语法
NTSTATUS FLTAPI FltCommitFinalizeComplete(
[in] PFLT_INSTANCE Instance,
[in] PKTRANSACTION Transaction,
[in, optional] PFLT_CONTEXT TransactionContext
);
参数
[in] Instance
指向微型筛选器驱动程序实例的不透明指针。 此参数是必需的,不能 NULL。
[in] Transaction
指向微型筛选器驱动程序当前登记的事务的不透明指针。 此参数是必需的,不能 NULL。
[in, optional] TransactionContext
指向事务的微型筛选器驱动程序上下文的指针。 此参数是可选的,可以 NULL。
返回值
FltCommitFinalizeComplete 返回STATUS_SUCCESS或相应的 NTSTATUS 值,如下所示:
返回代码 | 描述 |
---|---|
|
微型筛选器驱动程序未在事务上设置上下文。 这是一个错误代码。 |
言论
在事务中登记的微型筛选器驱动程序可以在事务完全提交时收到TRANSACTION_NOTIFY_COMMIT_FINALIZE通知(也就是说,当所有与事务关联的 资源管理器(如已提交 TxF)时)。 对于执行事务外部扫描的防病毒微型筛选器驱动程序,可以使用此通知值来确定驱动程序应何时开始扫描文件。
若要将TRANSACTION_NOTIFY_COMMIT_FINALIZE通知发送到微型筛选器驱动程序,筛选器管理器调用微型筛选器驱动程序的 TransactionNotificationCallback 例程。 微型筛选器驱动程序通过以下两种方式之一确认此通知:
- 微型筛选器驱动程序的 TransactionNotificationCallback 例程执行任何必需的处理并返回STATUS_SUCCESS。 (在本例中,微型筛选器驱动程序不调用 FltCommitFinalizeComplete.)
- 微型筛选器驱动程序的 TransactionNotificationCallback 例程将任何必需的处理发布到工作线程并返回STATUS_PENDING。 异步执行处理后,微型筛选器驱动程序的工作线程例程必须调用 FltCommitFinalizeComplete,以指示它已完成此处理。 如果微型筛选器驱动程序的工作线程例程不调用 FltCommitFinalizeComplete,则会泄漏某些系统资源。
若要在事务中登记,请调用 FltEnlistInTransaction。
若要分配新的事务上下文,请调用 FltAllocateContext。
若要检索事务上下文,请调用 FltGetTransactionContext。
若要删除事务上下文,请调用 FltDeleteTransactionContext 或 FltDeleteContext。
若要设置事务上下文,请调用 FltSetTransactionContext。
有关详细信息,请参阅 事务通知。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 在 Windows Vista Service Pack 1(SP1)及更高版本中可用。 |
目标平台 | 普遍 |
标头 | fltkernel.h (包括 Fltkernel.h) |
库 | Fltmgr.lib |
IRQL | <= APC_LEVEL |