FltCommitComplete 函式 (fltkernel.h)

FltCommitComplete 例程會認可TRANSACTION_NOTIFY_COMMIT通知。

語法

NTSTATUS FLTAPI FltCommitComplete(
  [in]           PFLT_INSTANCE Instance,
  [in]           PKTRANSACTION Transaction,
  [in, optional] PFLT_CONTEXT  TransactionContext
);

參數

[in] Instance

呼叫端的不透明實例指標。

[in] Transaction

交易的不透明交易指標。

[in, optional] TransactionContext

迷你篩選驅動程式交易內容的指標。 這個參數是選擇性的,而且可以是 NULL

傳回值

FltCommitComplete 會傳回STATUS_SUCCESS或適當的 NTSTATUS 值,如下所示:

傳回碼 Description
STATUS_NOT_FOUND
迷你篩選驅動程式未在交易上設定內容。 這是錯誤碼。

備註

此例程可在 Windows Vista 和更新版本上使用。

在交易中登記的迷你篩選驅動程式可以在交易進行認可時收到TRANSACTION_NOTIFY_COMMIT通知。 若要將通知傳送至迷你篩選驅動程式,篩選管理員會呼叫迷你篩選驅動程式的 TransactionNotificationCallback 例程。 迷你篩選驅動程式會以下列兩種方式之一認可此通知:

  • 迷你篩選驅動程式的 TransactionNotificationCallback 例程會執行任何所需的處理,並傳回STATUS_SUCCESS。 在此情況下,迷你篩選驅動程式不會呼叫 FltCommitComplete
  • 迷你篩選驅動程式的 TransactionNotificationCallback 例程會將任何所需的處理張貼到背景工作線程,並傳回STATUS_PENDING。 以異步方式執行處理之後,迷你篩選驅動程式的工作例程必須呼叫 FltCommitComplete ,以指出它已完成此處理。 如果迷你篩選驅動程式的工作例程未呼叫 FltCommitComplete,核心交易管理員就無法完成交易認可作業。
若要註冊 TransactionNotificationCallback 例程,迷你篩選驅動程式會將類型PFLT_TRANSACTION_NOTIFICATION_CALLBACK的例程位址儲存在minifilter驅動程式傳遞為 FltRegisterFilter註冊參數之FLT_REGISTRATION結構的 TransactionNotificationCallback 成員中。

若要在交易中登記,請呼叫 FltEnlistInTransaction

若要配置新的交易內容,請呼叫 FltAllocateContext

若要擷取交易內容,請呼叫 FltGetTransactionContext

若要刪除交易內容,請呼叫 FltDeleteTransactionContextFltDeleteContext

若要設定交易內容,請呼叫 FltSetTransactionContext

規格需求

需求
目標平台 Universal
標頭 fltkernel.h (包含 Fltkernel.h)
程式庫 Fltmgr.lib
IRQL PASSIVE_LEVEL

另請參閱

FLT_REGISTRATION

FltAllocateContext

FltDeleteContext

FltDeleteTransactionContext

FltEnlistInTransaction

FltGetTransactionContext

FltPrepareComplete

FltPrepareComplete

FltRegisterFilter

FltReleaseContext

FltRollbackComplete

FltRollbackEnlistment

FltSetTransactionContext

PFLT_TRANSACTION_NOTIFICATION_CALLBACK