Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |
---|---|
|
Durch Zurückgeben dieses Statuswerts wird angegeben, dass der Minifiltertreiber mit der Transaktion fertig ist. Dies ist ein Erfolgscode. |
|
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:
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 |