NOTIFICATION_MASK
Elenca i diversi tipi di notifiche che possono essere ricevuti da un'integrazione.
-
TRANSACTION_NOTIFY_MASK
-
-
0x3FFFFFFF
-
Maschera che indica tutti i bit validi per una notifica di transazione.
-
-
TRANSACTION_NOTIFY_PREPREPARE
-
-
0x00000001
-
Questa notifica viene chiamata dopo che un client chiama CommitTransaction e nessun gestore risorse (RM) supporta il commit a fase singola o una gestione transazioni superiore (TM) chiama PrePrepareEnlistment. Questa notifica viene ricevuta dalle macchine virtuali che indicano che devono completare tutte le operazioni che potrebbero causare l'integrazione di altre macchine virtuali in una transazione, ad esempio lo scaricamento della cache. Dopo aver completato queste operazioni, l'RM deve chiamare PrePrepareComplete. Per ricevere questa notifica, rm deve supportare anche TRANSACTION_NOTIFY_PREPARE e TRANSACTION_NOTIFY_COMMIT.
-
-
TRANSACTION_NOTIFY_PREPARE
-
-
0x00000002
-
Questa notifica viene chiamata dopo il completamento dell'elaborazione TRANSACTION_NOTIFY_PREPREPARE . Segnala all'RM di completare tutte le operazioni associate a questa integrazione in modo che possa garantire che un'operazione di commit possa avere esito positivo e che un'operazione di interruzione possa avere esito positivo. In genere, la maggior parte del lavoro per una transazione viene eseguita durante la fase di preparazione. Per le macchine virtuali durevoli, è necessario registrare il proprio stato prima di chiamare la funzione PrepareComplete . Questa è l'ultima possibilità per l'RM di richiedere che venga eseguito il rollback della transazione.
-
-
TRANSACTION_NOTIFY_COMMIT
-
-
0x00000004
-
Questa notifica segnala all'RM di completare tutte le operazioni associate a questa integrazione. In genere, RM rilascia eventuali blocchi, rilascia tutte le informazioni necessarie per eseguire il rollback della transazione. L'RM deve rispondere chiamando la funzione CommitComplete al termine di queste operazioni.
-
-
TRANSACTION_NOTIFY_ROLLBACK
-
-
0x00000008
-
Questa notifica segnala all'RM di annullare tutto il lavoro eseguito associato alla transazione.
-
-
TRANSACTION_NOTIFY_PREPREPARE_COMPLETE
-
-
0x00000010
-
Questa notifica segnala al tm superiore che un'operazione di pre-preparazione è stata completata correttamente.
-
-
TRANSACTION_NOTIFY_PREPARE_COMPLETE
-
-
0x00000020
-
Questa notifica segnala al tm superiore che un'operazione di preparazione è stata completata correttamente.
-
-
TRANSACTION_NOTIFY_COMMIT_COMPLETE
-
-
0x00000040
-
Questa notifica segnala al tm superiore che un'operazione di commit è stata completata correttamente.
-
-
TRANSACTION_NOTIFY_ROLLBACK_COMPLETE
-
-
0x00000080
-
Questa notifica segnala al tm superiore che un'operazione di rollback è stata completata correttamente.
-
-
TRANSACTION_NOTIFY_RECOVER
-
-
0x00000100
-
Questa notifica segnala alle macchine virtuali che devono ripristinare lo stato perché è necessario ridistribuire il risultato di una transazione. Ad esempio, quando un RM viene recuperato e quando sono presenti transazioni lasciate in dubbio. Questa notifica viene recapitata una volta risolto lo stato di dubbio.
-
-
TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT
-
-
0x00000200
-
Questa notifica segnala all'RM di completare ed eseguire il commit della transazione senza usare un protocollo di commit in due fasi. Se l'RM vuole usare un'operazione in due fasi, deve rispondere chiamando la funzione SinglePhaseReject .
-
-
TRANSACTION_NOTIFY_DELEGATE_COMMIT
-
-
0x00000400
-
KTM segnala al tm superiore di eseguire un'operazione di commit.
-
-
TRANSACTION_NOTIFY_RECOVER_QUERY
-
-
0x00000800
-
KTM segnala al tm superiore di eseguire una query sullo stato di una transazione in dubbio.
-
-
TRANSACTION_NOTIFY_ENLIST_PREPREPARE
-
-
0x00001000
-
Questa notifica segnala al tm superiore che le notifiche di pre-preparazione devono essere recapitate nell'integrazione specificata.
-
-
TRANSACTION_NOTIFY_LAST_RECOVER
-
-
0x00002000
-
Questa notifica indica che l'operazione di ripristino è stata completata per questo RM.
-
-
TRANSACTION_NOTIFY_INDOUBT
-
-
0x00004000
-
La transazione specificata si trova in uno stato di dubbio. L'RM riceve questa notifica durante le operazioni di ripristino quando una transazione è stata preparata, ma non è disponibile alcun gestore transazioni superiore (TM). Ad esempio, quando una transazione coinvolge una tm remota e tale nodo non è disponibile, il relativo nodo non è disponibile o il servizio Distributed Transaction Coordinator locale non è disponibile, lo stato della transazione è incerto.
-
-
TRANSACTION_NOTIFY_TM_ONLINE
-
-
0x02000000
-
La TM è online e accetta le richieste.
-
-
TRANSACTION_NOTIFY_REQUEST_OUTCOME
-
-
0x20000000
-
Segnala alle macchine virtuali che sono disponibili informazioni sui risultati e che deve essere effettuata una richiesta per tali informazioni.
-
-
TRANSACTION_NOTIFY_COMMIT_FINALIZE
-
-
0x40000000
-
Riservato.
-
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato |
Windows Vista |
Server minimo supportato |
Windows Server 2008 |
Intestazione |
|