NOTIFICATION_MASK

Répertorie les différents types de notifications qui peuvent être reçues par un enrôlement.

TRANSACTION_NOTIFY_MASK

0x3FFFFFFF

Masque qui indique tous les bits valides pour une notification de transaction.

TRANSACTION_NOTIFY_PREPREPARE

0x00000001

Cette notification est appelée après qu’un client a appelé CommitTransaction et qu’aucun gestionnaire de ressources (RM) ne prend en charge la validation monophase ou qu’un gestionnaire de transactions supérieur appelle PrePrepareEnlistment. Cette notification est reçue par les machines de requête indiquant qu’elles doivent effectuer tout travail susceptible d’entraîner l’inscription d’autres machines virtuelles dans une transaction, comme le vidage de son cache. Une fois ces opérations terminées, le RM doit appeler PrePrepareComplete. Pour recevoir cette notification, le gestionnaire de gestion doit également prendre en charge TRANSACTION_NOTIFY_PREPARE et TRANSACTION_NOTIFY_COMMIT.

TRANSACTION_NOTIFY_PREPARE

0x00000002

Cette notification est appelée une fois le traitement TRANSACTION_NOTIFY_PREPREPARE terminé. Il indique au MR d’effectuer tout le travail associé à cet enrôlement afin qu’il puisse garantir qu’une opération de validation peut réussir et qu’une opération d’abandon peut également réussir. En règle générale, l’essentiel du travail pour une transaction est effectué pendant la phase de préparation. Pour les machines de requête durables, elles doivent consigner leur état avant d’appeler la fonction PrepareComplete . Il s’agit de la dernière chance pour le rm de demander la restauration de la transaction.

TRANSACTION_NOTIFY_COMMIT

0x00000004

Cette notification indique au RM d’effectuer tout le travail associé à cette inscription. En règle générale, le RM libère tous les verrous et libère toutes les informations nécessaires pour restaurer la transaction. Le RM doit répondre en appelant la fonction CommitComplete lorsqu’il a terminé ces opérations.

TRANSACTION_NOTIFY_ROLLBACK

0x00000008

Cette notification indique au rm d’annuler tout le travail qu’il a effectué associé à la transaction.

TRANSACTION_NOTIFY_PREPREPARE_COMPLETE

0x00000010

Cette notification signale au tm supérieur qu’une opération de pré-préparation a été effectuée avec succès.

TRANSACTION_NOTIFY_PREPARE_COMPLETE

0x00000020

Cette notification signale au tm supérieur qu’une opération de préparation a été effectuée avec succès.

TRANSACTION_NOTIFY_COMMIT_COMPLETE

0x00000040

Cette notification signale au tm supérieur qu’une opération de validation a été effectuée avec succès.

TRANSACTION_NOTIFY_ROLLBACK_COMPLETE

0x00000080

Cette notification signale au tm supérieur qu’une opération de restauration a été effectuée avec succès.

TRANSACTION_NOTIFY_RECOVER

0x00000100

Cette notification signale aux machines virtuelles qu’elles doivent récupérer leur état, car le résultat d’une transaction doit être redélisé. Par exemple, lorsqu’un RM est récupéré et qu’il y a des transactions laissées en doute. Cette notification est remise une fois que l’état de doute est résolu.

TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT

0x00000200

Cette notification indique au rm d’effectuer et de valider la transaction sans utiliser un protocole de validation en deux phases. Si le RM souhaite utiliser une opération en deux phases, il doit répondre en appelant la fonction SinglePhaseReject .

TRANSACTION_NOTIFY_DELEGATE_COMMIT

0x00000400

KTM signale au tm supérieur d’effectuer une opération de validation.

TRANSACTION_NOTIFY_RECOVER_QUERY

0x00000800

KTM signale au tm supérieur d’interroger la status d’une transaction douteuse.

TRANSACTION_NOTIFY_ENLIST_PREPREPARE

0x00001000

Cette notification signale à la tm supérieure que les notifications de pré-préparation doivent être remises sur l’inscription spécifiée.

TRANSACTION_NOTIFY_LAST_RECOVER

0x00002000

Cette notification indique que l’opération de récupération est terminée pour cette RM.

TRANSACTION_NOTIFY_INDOUBT

0x00004000

La transaction spécifiée est dans un état douteux. Le RM reçoit cette notification pendant les opérations de récupération lorsqu’une transaction a été préparée, mais il n’existe aucun gestionnaire de transactions supérieur (TM) disponible. Par exemple, lorsqu’une transaction implique une tm distante et que ce nœud n’est pas disponible, que son nœud n’est pas disponible ou que le service coordinateur de transactions distribué local n’est pas disponible, l’état de la transaction est incertain.

TRANSACTION_NOTIFY_TM_ONLINE

0x02000000

Le tm est en ligne et accepte les demandes.

TRANSACTION_NOTIFY_REQUEST_OUTCOME

0x20000000

Indique aux machines de gestion qu’il existe des informations sur les résultats disponibles et qu’une demande d’information doit être faite.

TRANSACTION_NOTIFY_COMMIT_FINALIZE

0x40000000

Réservé.

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows Vista
Serveur minimal pris en charge
Windows Server 2008
En-tête
KtmTypes.h (inclure Windows.h)

Voir aussi

Coordinateur de transactions distribuées

Constantes du gestionnaire de transactions du noyau

CreateEnlistment

CommitComplete

GetNotificationResourceManager

GetNotificationResourceManagerAsync

PrepareComplete

SinglePhaseReject

TRANSACTION_NOTIFICATION