フラグ定義と同様に、すべてのトランザクション マネージャーおよびリソース マネージャーは、これらの戻りコード (xa.h ヘッダで定義される) を使用して互換性を保証する必要があります。
| #define | コード | 説明 |
|---|---|---|
| XA_RBBASE | 100 | ロールバック コードの下限 (下限値を含む)。 |
| XA_RBROLLBACK | XA_RBBASE | 詳細不明の理由によってロールバックが行われました。 |
| XA_RBCOMMFAIL | XA_RBBASE+1 | 通信障害によってロールバックが行われました。 |
| XA_RBDEADLOCK | XA_RBBASE+2 | デッドロックが検出されました。 |
| XA_RBINTEGRITY | XA_RBBASE+3 | リソースの整合性に違反する状態が検出されました。 |
| XA_RBOTHER | XA_RBBASE+4 | リストにない理由によって、リソース マネージャーがトランザクション ブランチをロールバックしました。 |
| XA_RBPROTO | XA_RBBASE+5 | リソース マネージャーでプロトコル エラーが発生しました。 |
| XA_RBTIMEOUT | XA_RBBASE+6 | トランザクション ブランチに時間がかかりすぎました。 |
| XA_RBTRANSIENT | XA_RBBASE+7 | トランザクション ブランチを再試行する場合があります。 |
| XA_RBEND | XA_RBTRANSIENT | ロールバック コードの上限 (上限値を含む)。 |
| XA_NOMIGRATE | 9 | 一時停止が発生した場合は、再開が行われる必要があります。 |
| XA_HEURHAZ | 8 | トランザクション ブランチがヒューリスティックに完了した可能性があります。 |
| XA_HEURCOM | 7 | トランザクション ブランチがヒューリスティックにコミットされました。 |
| XA_HEURRB | 6 | トランザクション ブランチがヒューリスティックにロールバックされました。 |
| XA_HEURMIX | 5 | トランザクション ブランチがヒューリスティックにコミットされ、ロールバックされました。 |
| XA_RETRY | 4 | ルーチンが効果なしに復帰したため、再発行される可能性があります。 |
| XA_RDONLY | 3 | トランザクション ブランチは読み取り専用であり、コミットされています。 |
| XA_OK | 0 | 正常実行。 |
| XAER_ASYNC | -2 | 既に未処理となった非同期操作です。 |
| XAER_RMERR | -3 | トランザクション ブランチでリソース マネージャー エラーが発生しました。 |
| XAER_NOTA | -4 | XID が無効です。 |
| XAER_INVAL | -5 | 無効な引数が指定されました。 |
| XAER_PROTO | -6 | 無効なコンテキストでルーチンが呼び出されました。 |
| XAER_RMFAIL | -7 | リソース マネージャーは使用不可です。 |
| XAER_DUPID | -8 | XID は既に存在します。 |
| XAER_OUTSIDE | -9 | リソース マネージャーは外部で作業を実行しています。 |