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 值,例如:
傳回碼 | Description |
---|---|
|
迷你篩選驅動程式未在交易上設定內容。 這是錯誤碼。 |
備註
在交易中登記的迷你篩選驅動程式可以在交易完全認可 (收到TRANSACTION_NOTIFY_COMMIT_FINALIZE通知,也就是說,與交易相關聯的所有 資源管理員 ,例如 TxF 已認可) 。 對於執行交易外部掃描的防毒迷你篩選驅動程式,您可以使用此通知值來判斷驅動程式何時應該開始掃描檔案。
若要將TRANSACTION_NOTIFY_COMMIT_FINALIZE通知傳送至迷你篩選驅動程式,篩選管理員會呼叫 minifilter 驅動程式的 TransactionNotificationCallback 例程。 迷你篩選驅動程式會以下列兩種方式之一認可此通知:
- 迷你篩選驅動程式的 TransactionNotificationCallback 例程會執行任何必要的處理,並傳回STATUS_SUCCESS。 (在此情況下,迷你篩選驅動程式不會呼叫 FltCommitFinalizeComplete.)
- 迷你篩選驅動程式的 TransactionNotificationCallback 例程會將任何必要的處理張貼到背景工作線程,並傳回STATUS_PENDING。 以異步方式執行處理之後,迷你篩選驅動程式的背景工作線程例程必須呼叫 FltCommitFinalizeComplete ,以指出它已完成此處理。 如果迷你篩選驅動程式的背景工作線程例程未呼叫 FltCommitFinalizeComplete,某些系統資源將會外洩。
若要在交易中登記,請呼叫 FltEnlistInTransaction。
若要配置新的交易內容,請呼叫 FltAllocateContext。
若要擷取交易內容,請呼叫 FltGetTransactionContext。
若要刪除交易內容,請呼叫 FltDeleteTransactionContext 或 FltDeleteContext。
若要設定交易內容,請呼叫 FltSetTransactionContext。
如需詳細資訊,請參閱 交易通知。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista Service Pack 1 (SP1) 及更新版本提供。 |
目標平台 | Universal |
標頭 | fltkernel.h (包含 Fltkernel.h) |
程式庫 | Fltmgr.lib |
IRQL | <= APC_LEVEL |