Freigeben über


PFLT_TRANSACTION_NOTIFICATION_CALLBACK Rückruffunktion (fltkernel.h)

Ein Minifiltertreiber kann eine Routine vom Typ PFLT_TRANSACTION_NOTIFICATION_CALLBACK als TransactionNotificationCallback Routine registrieren.

Syntax

PFLT_TRANSACTION_NOTIFICATION_CALLBACK PfltTransactionNotificationCallback;

NTSTATUS PfltTransactionNotificationCallback(
  [in] PCFLT_RELATED_OBJECTS FltObjects,
  [in] PFLT_CONTEXT TransactionContext,
  [in] ULONG NotificationMask
)
{...}

Parameter

[in] FltObjects

Zeiger auf eine FLT_RELATED_OBJECTS Struktur, die undurchsichtige Zeiger für die Objekte enthält, die mit dem aktuellen Vorgang zusammenhängen.

[in] TransactionContext

Zeigen Sie auf den Transaktionskontext des Minifiltertreibers.

[in] NotificationMask

Gibt den Typ der Benachrichtigungen an, die der Filter-Manager als einen der folgenden Werte an den Minifiltertreiber sendet.

Wert Bedeutung
TRANSACTION_NOTIFY_COMMIT Diese Benachrichtigung wird gesendet, wenn die Transaktion zugesichert wird.
TRANSACTION_NOTIFY_COMMIT_FINALIZE Für Windows Vista SP1 und höher wird diese Benachrichtigung gesendet, wenn die Transaktion vollständig zugesichert wird (d. h., wenn alle Ressourcenmanager der Transaktion zugeordnet, z. B. TxF-, zugesichert haben).
TRANSACTION_NOTIFY_PREPARE Diese Benachrichtigung wird gesendet, wenn die Transaktion die Vorbereitung für die Commit-Phase eingibt.
TRANSACTION_NOTIFY_PREPREPARE Diese Benachrichtigung wird gesendet, wenn die Transaktion die Vorabvorbereitung für die Commit-Phase eingibt.
TRANSACTION_NOTIFY_ROLLBACK Diese Benachrichtigung wird gesendet, wenn die Transaktion zurückgesetzt oder abgebrochen wird.

Rückgabewert

Die PFLT_TRANSACTION_NOTIFICATION_CALLBACK Routine gibt einen der folgenden NTSTATUS-Werte zurück:

Rückgabecode Beschreibung
STATUS_SUCCESS
Durch Zurückgeben dieses Statuswerts wird angegeben, dass der Minifiltertreiber mit der Transaktion fertig ist. Dies ist ein Erfolgscode.
STATUS_PENDING
Durch Zurückgeben dieses Statuswerts wird angegeben, dass der Minifiltertreiber noch nicht mit der Transaktion fertig ist. Dies ist ein Erfolgscode.

Bemerkungen

Wenn sich ein Minifiltertreiber selbst registriert, indem er FltRegisterFilter aus seiner DriverEntry Routine aufruft, kann er eine Routine vom Typ PFLT_TRANSACTION_NOTIFICATION_CALLBACK als TransactionNotificationCallback Routine des Minifilters registrieren.

Um die TransactionNotificationCallback Routine zu registrieren, speichert der Minifiltertreiber die Adresse einer Routine vom Typ PFLT_TRANSACTION_NOTIFICATION_CALLBACK im TransactionNotificationCallback Member der FLT_REGISTRATION Struktur, die der Minifiltertreiber als Registration Parameter von FltRegisterFilterübergibt.

Der Filter-Manager ruft diese Routine auf, um den Minifiltertreiber über den Status einer Transaktion zu benachrichtigen, in der der Minifiltertreiber aufgelistet ist.

Wenn der Minifiltertreiber STATUS_PENDING aus dieser Rückrufroutine zurückgibt, muss er schließlich eine der folgenden Routinen aufrufen, um anzugeben, dass die Verarbeitung der Benachrichtigung abgeschlossen ist:

FltCommitComplete-

FltPrepareComplete

FltPrePrepareComplete-

FltRollbackComplete-

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Die PFLT_TRANSACTION_NOTIFICATION_CALLBACK Routine ist unter Windows Vista und höher verfügbar.
Zielplattform- Desktop
Header- fltkernel.h (include Fltkernel.h)
IRQL- PASSIVE_LEVEL

Siehe auch

FLT_REGISTRATION

FLT_RELATED_OBJECTS

FltCommitComplete-

FltPrePrepareComplete-

FltPrepareComplete

FltRegisterFilter-

FltRollbackComplete-