NOTIFICATION_MASK

Listet die verschiedenen Arten von Benachrichtigungen auf, die von einer Registrierung empfangen werden können.

TRANSACTION_NOTIFY_MASK

0x3FFFFFFF

Eine Maske, die alle gültigen Bits für eine Transaktionsbenachrichtigung angibt.

TRANSACTION_NOTIFY_PREPREPARE

0x00000001

Diese Benachrichtigung wird aufgerufen, nachdem ein Client CommitTransaction aufgerufen hat und entweder kein Ressourcen-Manager (RM) den einstufigen Commit unterstützt, oder ein überlegener Transaktions-Manager (TM) ruft PrePrepareEnlistment auf. Diese Benachrichtigung wird von den RMs empfangen, die angibt, dass sie alle Arbeiten abschließen sollen, die dazu führen könnten, dass sich andere RMs in eine Transaktion eintragen müssen, z. B. das Leeren des Caches. Nach Abschluss dieser Vorgänge muss der RM PrePrepareComplete aufrufen. Um diese Benachrichtigung zu erhalten, muss der RM auch TRANSACTION_NOTIFY_PREPARE und TRANSACTION_NOTIFY_COMMIT unterstützen.

TRANSACTION_NOTIFY_PREPARE

0x00000002

Diese Benachrichtigung wird aufgerufen, nachdem die TRANSACTION_NOTIFY_PREPREPARE Verarbeitung abgeschlossen ist. Es signalisiert dem RM, alle Mitarbeit abzuschließen, die dieser Registrierung zugeordnet ist, sodass sichergestellt werden kann, dass ein Commitvorgang erfolgreich ist und auch ein Abbruchvorgang erfolgreich sein kann. In der Regel erfolgt der Großteil der Arbeit für eine Transaktion während der Vorbereitungsphase. Bei dauerhaften RMs muss ihr Zustand vor dem Aufruf der PrepareComplete-Funktion protokolliert werden. Dies ist die letzte Chance für den RM, ein Rollback für die Transaktion anzufordern.

TRANSACTION_NOTIFY_COMMIT

0x00000004

Diese Benachrichtigung signalisiert dem RM, alle Aufgaben abzuschließen, die dieser Registrierung zugeordnet sind. In der Regel gibt der RM alle Sperren frei und gibt alle Informationen frei, die für das Rollback der Transaktion erforderlich sind. Der RM muss reagieren, indem er die CommitComplete-Funktion aufruft , wenn er diese Vorgänge abgeschlossen hat.

TRANSACTION_NOTIFY_ROLLBACK

0x00000008

Diese Benachrichtigung signalisiert dem RM, alle der Transaktion zugeordneten Aufgaben rückgängig zu machen.

TRANSACTION_NOTIFY_PREPREPARE_COMPLETE

0x00000010

Diese Benachrichtigung signalisiert dem übergeordneten TM, dass ein Vorbereitungsvorgang erfolgreich abgeschlossen wurde.

TRANSACTION_NOTIFY_PREPARE_COMPLETE

0x00000020

Diese Benachrichtigung signalisiert dem übergeordneten TM, dass ein Vorbereitungsvorgang erfolgreich abgeschlossen wurde.

TRANSACTION_NOTIFY_COMMIT_COMPLETE

0x00000040

Diese Benachrichtigung signalisiert dem übergeordneten TM, dass ein Commitvorgang erfolgreich abgeschlossen wurde.

TRANSACTION_NOTIFY_ROLLBACK_COMPLETE

0x00000080

Diese Benachrichtigung signalisiert dem übergeordneten TM, dass ein Rollbackvorgang erfolgreich abgeschlossen wurde.

TRANSACTION_NOTIFY_RECOVER

0x00000100

Diese Benachrichtigung signalisiert RMs, dass sie ihren Zustand wiederherstellen sollten, da ein Transaktionsergebnis erneut zugestellt werden muss. Beispielsweise, wenn ein RM wiederhergestellt wird und Transaktionen im Zweifelsfall bestehen. Diese Benachrichtigung wird übermittelt, sobald der Zweifelszustand behoben ist.

TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT

0x00000200

Diese Benachrichtigung signalisiert dem RM, die Transaktion abzuschließen und zu committen, ohne ein zweistufiges Commitprotokoll zu verwenden. Wenn der RM einen zweiphasigen Vorgang verwenden möchte, muss er reagieren, indem die SinglePhaseReject-Funktion aufgerufen wird.

TRANSACTION_NOTIFY_DELEGATE_COMMIT

0x00000400

KTM signalisiert dem überlegenen TM, einen Commitvorgang auszuführen.

TRANSACTION_NOTIFY_RECOVER_QUERY

0x00000800

KTM signalisiert dem überlegenen TM, die status einer Zweifelstransaktion abzufragen.

TRANSACTION_NOTIFY_ENLIST_PREPREPARE

0x00001000

Diese Benachrichtigung signalisiert dem übergeordneten TM, dass vorbereite Benachrichtigungen für die angegebene Registrierung übermittelt werden müssen.

TRANSACTION_NOTIFY_LAST_RECOVER

0x00002000

Diese Benachrichtigung gibt an, dass der Wiederherstellungsvorgang für diesen RM abgeschlossen ist.

TRANSACTION_NOTIFY_INDOUBT

0x00004000

Die angegebene Transaktion befindet sich in einem zweifelsfreien Zustand. Der RM erhält diese Benachrichtigung bei Wiederherstellungsvorgängen, wenn eine Transaktion vorbereitet wurde, aber es ist kein überlegener Transaktions-Manager (TM) verfügbar. Wenn beispielsweise eine Transaktion eine Remote-TM umfasst und dieser Knoten nicht verfügbar ist, sein Knoten nicht verfügbar ist oder der lokale Distributed Transaction Coordinator-Dienst nicht verfügbar ist, ist der Transaktionsstatus zweifelhaft.

TRANSACTION_NOTIFY_TM_ONLINE

0x02000000

Das TM ist online und akzeptiert Anfragen.

TRANSACTION_NOTIFY_REQUEST_OUTCOME

0x20000000

Signalisiert RMs, dass Ergebnisinformationen verfügbar sind und dass eine Anforderung für diese Informationen gestellt werden sollte.

TRANSACTION_NOTIFY_COMMIT_FINALIZE

0x40000000

Reserviert.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista
Unterstützte Mindestversion (Server)
WindowsServer 2008
Header
KtmTypes.h (einschließen von Windows.h)

Siehe auch

Distributed Transaction Coordinator

Kerneltransaktions-Manager-Konstanten

CreateEnlistment

CommitComplete

GetNotificationResourceManager

GetNotificationResourceManagerAsync

PrepareComplete

SinglePhaseReject

TRANSACTION_NOTIFICATION