FltCommitFinalizeComplete-Funktion (fltkernel.h)
Die FltCommitFinalizeComplete Routine erkennt eine TRANSACTION_NOTIFY_COMMIT_FINALIZE Benachrichtigung an.
Syntax
NTSTATUS FLTAPI FltCommitFinalizeComplete(
[in] PFLT_INSTANCE Instance,
[in] PKTRANSACTION Transaction,
[in, optional] PFLT_CONTEXT TransactionContext
);
Parameter
[in] Instance
Undurchsichtiger Zeiger auf eine Instanz eines Minifiltertreibers. Dieser Parameter ist erforderlich und kann nicht NULL-werden.
[in] Transaction
Undurchsichtiger Zeiger auf die Transaktion, in der der Minifiltertreiber derzeit aufgelistet ist. Dieser Parameter ist erforderlich und kann nicht NULL-werden.
[in, optional] TransactionContext
Zeigen Sie auf den Kontext des Minifiltertreibers für die Transaktion. Dieser Parameter ist optional und kann NULL-werden.
Rückgabewert
FltCommitFinalizeComplete gibt STATUS_SUCCESS oder einen geeigneten NTSTATUS-Wert zurück, z. B. folgendes:
Rückgabecode | Beschreibung |
---|---|
|
Der Minifiltertreiber hat keinen Kontext für die Transaktion festgelegt. Dies ist ein Fehlercode. |
Bemerkungen
Ein Minifiltertreiber, der in einer Transaktion aufgelistet ist, kann eine TRANSACTION_NOTIFY_COMMIT_FINALIZE Benachrichtigung erhalten, wenn die Transaktion vollständig zugesichert ist (d. h., wenn alle Ressourcenmanager der Transaktion zugeordnet, z. B. TxF-, zugesichert haben). Bei einem Antivirus-Minifiltertreiber, der Scans außerhalb von Transaktionen durchführt, können Sie diesen Benachrichtigungswert verwenden, um zu bestimmen, wann der Treiber mit dem Scannen von Dateien beginnen soll.
Um die TRANSACTION_NOTIFY_COMMIT_FINALIZE-Benachrichtigung an den Minifiltertreiber zu senden, ruft der Filter-Manager die TransactionNotificationCallback Routine des Minifiltertreibers auf. Der Minifiltertreiber erkennt diese Benachrichtigung auf eine von zwei Arten an:
- Die TransactionNotificationCall back-Routine des Minifiltertreibers führt jede erforderliche Verarbeitung durch und gibt STATUS_SUCCESS zurück. (In diesem Fall ruft der Minifiltertreiber nicht FltCommitFinalizeCompleteauf.)
- Die TransactionNotificationCallback des Minifiltertreibers Routine stellt alle erforderlichen Verarbeitungen an einen Arbeitsthread bereit und gibt STATUS_PENDING zurück. Nach der asynchronen Verarbeitung muss die Arbeitsthreadroutine des Minifiltertreibers FltCommitFinalizeComplete- aufrufen, um anzugeben, dass sie diese Verarbeitung abgeschlossen hat. Wenn die Threadroutine des Minifiltertreibers nicht FltCommitFinalizeCompleteaufruft, werden bestimmte Systemressourcen geleert.
Zum Auflisten in einer Transaktion rufen Sie FltEnlistInTransactionauf.
Rufen Sie FltAllocateContextauf, um einen neuen Transaktionskontext zuzuweisen.
Rufen Sie zum Abrufen eines Transaktionskontexts FltGetTransactionContextauf.
Rufen Sie zum Löschen eines Transaktionskontexts FltDeleteTransactionContext oder FltDeleteContext-auf.
Rufen Sie FltSetTransactionContextauf, um einen Transaktionskontext festzulegen.
Weitere Informationen finden Sie unter Transaktionsbenachrichtigungen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Windows Vista Service Pack 1 (SP1) und höher. |
Zielplattform- | Universal |
Header- | fltkernel.h (include Fltkernel.h) |
Library | Fltmgr.lib |
IRQL- | <= APC_LEVEL |