BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedoホーム   |   BEA Tuxedo C リファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


tx_info(3c)

名前

tx_info()-グロ―バル・トランザクション情報を返す

形式

#include <tx.h> 
int tx_info(TXINFO *info)

機能説明

tx_info() は、グローバル・トランザクション情報を、info が指す構造体に返します。また、この関数は、呼び出し元が現在トランザクション・モードにあるかどうかを示す値も返します。info が NULL 以外の値であれば、tx_info() は、info が指す TXINFO 構造体にグローバル・トランザクション情報を入れます。TXINFO 構造体には次の要素があります。

XID                 xid;  
COMMIT_RETURN when_return;
TRANSACTION_CONTROL transaction_control;
TRANSACTION_TIMEOUT transaction_timeout;
TRANSACTION_STATE transaction_state;

tx_info() がトランザクション・モードにおいて呼び出されると、xid に現在のトランザクションのブランチ識別子が、transaction_state に現在のトランザクションの状態が入ります。呼び出し元がトランザクション・モードにない場合は、xid に NULL の XID が入ります (詳細は tx.h ファイルを参照)。また、呼び出し元がトランザクション・モードにあるかどうかに関係なく、when_returntransaction_control および transaction_timeout に、commit_return および transaction_control 特性の現在の設定、および秒単位のトランザクション・タイムアウト値が入ります。

返されるトランザクション・タイムアウト値は、次のトランザクション開始時に使用される設定を反映しています。したがって、この値は、呼び出し元の現在のグローバル・トランザクションのタイムアウト値を反映しているわけではありません。現在のトランザクション開始後に行われた tx_set_transaction_timeout() の呼び出しによって、この値が変更されていることがあるからです。

info が NULL である場合は、TXINFO 構造体は返されません。

マルチスレッドのアプリケーションの場合、TPINVALIDCONTEXT 状態のスレッドは tx_info() の呼び出しを発行できません。

戻り値

呼び出し元がトランザクション・モードにある場合は、1 を返します。呼び出し元がトランザクション・モードにない場合は、0 を返します。

エラー

次の条件の場合、tx_info() は異常終了し、次のいずれかの負の値を返します。

[TX_PROTOCOL_ERROR]

この関数が不正なコンテキストで呼び出されました (たとえば、呼び出し元がまだ tx_open() を呼び出していない場合)。

[TX_FAIL]

トランザクション・マネージャが致命的エラーを検出しました。このエラーでは、トランザクション・マネージャは、アプリケーションのために作業を行うことができなくなります。エラーの正確な内容はログ・ファイルに書き込まれます。

関連項目

tx_open(3c)tx_set_commit_return(3c)tx_set_transaction_control(3c)tx_set_transaction_timeout(3c)

警告

同一のグローバル・トランザクション内では、後続の tx_info() 呼び出しは、XIDに同一の gtrid 構成要素を示すことが保証されていますが、同一の bqual 構成要素を示すことは必ずしも保証されません。X/Open TX インターフェイスと X-Window システムは、いずれも型 XID を定義します。同一のファイルで X-Window コールと TX コールの両方を使用することはできません。

 

先頭へ戻る 前のトピックへ 次のトピックへ