NOTIFICATION_MASK

参加リストで受信できるさまざまな種類の通知を一覧表示します。

TRANSACTION_NOTIFY_MASK

0x3FFFFFFF

トランザクション通知のすべての有効なビットを示すマスク。

TRANSACTION_NOTIFY_PREPREPARE

0x00000001

この通知は、クライアントが CommitTransaction を 呼び出し、リソース マネージャー (RM) が単一フェーズ コミットをサポートしていないか、上位トランザクション マネージャー (TM) が PrePrepareEnlistment を呼び出した後に呼び出されます。 この通知は、他の VM がトランザクションに参加する必要がある可能性がある作業 (キャッシュのフラッシュなど) を完了する必要があることを示す、VM によって受信されます。 これらの操作を完了した後、RM は PrePrepareComplete を呼び出す必要があります。 この通知を受け取るために、RM は TRANSACTION_NOTIFY_PREPARETRANSACTION_NOTIFY_COMMITもサポートする必要があります。

TRANSACTION_NOTIFY_PREPARE

0x00000002

この通知は、 TRANSACTION_NOTIFY_PREPREPARE 処理が完了した後に呼び出されます。 コミット操作が成功し、中止操作も成功する可能性があることを保証できるように、この参加リストに関連付けられているすべての作業を完了するように RM に通知します。 通常、トランザクションの作業の大部分は準備フェーズ中に行われます。 永続的な VM の場合は、 PrepareComplete 関数を呼び出す前に状態をログに記録する必要があります。 これは、RM がトランザクションのロールバックを要求する最後の機会です。

TRANSACTION_NOTIFY_COMMIT

0x00000004

この通知は、この参加に関連付けられているすべての作業を完了するように RM に通知します。 通常、RM はロックを解放し、トランザクションをロールバックするために必要な情報を解放します。 RM は、これらの操作が完了したときに CommitComplete 関数を呼び出して応答する必要があります。

TRANSACTION_NOTIFY_ROLLBACK

0x00000008

この通知は、トランザクションに関連付けられているすべての作業を元に戻すよう RM に通知します。

TRANSACTION_NOTIFY_PREPREPARE_COMPLETE

0x00000010

この通知は、事前準備操作が正常に完了したことを優れた TM に通知します。

TRANSACTION_NOTIFY_PREPARE_COMPLETE

0x00000020

この通知は、準備操作が正常に完了したことを優れた TM に通知します。

TRANSACTION_NOTIFY_COMMIT_COMPLETE

0x00000040

この通知は、コミット操作が正常に完了したことを上位の TM に通知します。

TRANSACTION_NOTIFY_ROLLBACK_COMPLETE

0x00000080

この通知は、ロールバック操作が正常に完了したことを上位の TM に通知します。

TRANSACTION_NOTIFY_RECOVER

0x00000100

この通知は、トランザクションの結果を再配信する必要があるため、状態を回復する必要があることを VM に通知します。 たとえば、RM が復旧され、トランザクションが未確定のままである場合などです。 この通知は、未確定状態が解決されると配信されます。

TRANSACTION_NOTIFY_SINGLE_PHASE_COMMIT

0x00000200

この通知は、2 フェーズ コミット プロトコルを使用せずに、RM にトランザクションの完了とコミットを通知します。 RM が 2 フェーズ操作を使用する場合は、 SinglePhaseReject 関数を呼び出して応答する必要があります。

TRANSACTION_NOTIFY_DELEGATE_COMMIT

0x00000400

KTMは、コミット操作を実行するために優れたTMに信号を出す。

TRANSACTION_NOTIFY_RECOVER_QUERY

0x00000800

KTM は、疑わしいトランザクションの状態を照会するために、優れた TM にシグナルを送信しています。

TRANSACTION_NOTIFY_ENLIST_PREPREPARE

0x00001000

この通知は、事前に通知を準備する必要があることを上位の TM に通知し、指定された参加リストに配信する必要があります。

TRANSACTION_NOTIFY_LAST_RECOVER

0x00002000

この通知は、この RM の回復操作が完了したことを示します。

TRANSACTION_NOTIFY_INDOUBT

0x00004000

指定されたトランザクションが疑わしい状態です。 RM は、トランザクションの準備が完了したときに回復操作中にこの通知を受け取りますが、使用可能な優れたトランザクション・マネージャー (TM) はありません。 たとえば、トランザクションにリモート TM が関係していて、そのノードが使用できない場合、そのノードが使用できない場合、またはローカル 分散トランザクション コーディネーター サービスが使用できない場合、トランザクションの状態は不明です。

TRANSACTION_NOTIFY_TM_ONLINE

0x02000000

TM はオンラインであり、要求を受け入れます。

TRANSACTION_NOTIFY_REQUEST_OUTCOME

0x20000000

利用可能な結果情報があり、その情報の要求を行う必要があることを VM に通知します。

TRANSACTION_NOTIFY_COMMIT_FINALIZE

0x40000000

予約済み。

必要条件

要件
サポートされている最小のクライアント
Windows Vista
サポートされている最小のサーバー
Windows Server 2008
ヘッダー
KtmTypes.h (Windows.h を含む)

関連項目

分散トランザクション コーディネーター

カーネル トランザクション マネージャー定数

CreateEnlistment

CommitComplete

GetNotificationResourceManager

GetNotificationResourceManagerAsync

PrepareComplete

SinglePhaseReject

TRANSACTION_NOTIFICATION