ee_trn_getinfo
- 〈このページの構成〉
形式
ANSI C,C++の形式
#include <eetrn.h> int ee_trn_getinfo(EETRNID2 *eetrnid, EELONG flags)
機能
実行中のトランザクションのトランザクション識別情報をリソースマネジャごとに取得します。リターン値がEE_OK(次のリソースマネジャ情報なし)になるまで,この関数を連続して呼び出すことによって,接続中のすべてのリソースマネジャの情報を取得できます。リターン値がEE_OKの状態でこの関数を呼び出した場合は,最初からトランザクション識別情報を取得します。
UAPで値を設定する引数
●eetrnid
トランザクション識別情報を格納するための構造体ポインタのアドレスを設定します。
●flags
EENOFLAGSを設定します。
TP1/EEから値が返される引数
●eetrnid
トランザクション識別情報が構造体EETRNID2で返されます。構造体の形式は次のとおりです。
struct ee_trn_id_t2{ EELONG processid; EEULONG centraltransactionid; EELONG resume; int rmid; int size; char name[EETRN_RM_NAMESZ]; int opensize; char openname[OPENNAMESZ]; int xidsize; char xid[XIDSZ]; char dummy[1024]; }EETRNID2;
-
processid(プロセスID)
プロセスIDが返されます。
-
centraltransactionid(中央処理通番)
該当するトランザクションの中央処理通番が返されます。
-
resume(リソースマネジャ接続状態)
リソースマネジャとの接続状態が返されます。
- EETRN_RM_CONNECT
-
リソースマネジャ接続正常
- EETRN_RM_ERROR
-
リソースマネジャ接続失敗によるトランザクション縮退起動
-
rmid(リソースマネジャID)
リソースマネジャIDが返されます。
-
size(リソースマネジャ名長)
リソースマネジャ名(リソースマネジャ拡張子を含む)の長さが返されます(単位:バイト)。
-
name(リソースマネジャ名)
リソースマネジャ名(リソースマネジャ拡張子を含む)が返されます。領域の長さ(EETRN_RM_NAMESZ)は36バイトです。
-
opensize(xa_open関数用文字列長)
xa_open関数用文字列の長さが返されます(単位:バイト)。
-
openname(xa_open関数用文字列)
xa_open関数用文字列が返されます。領域の長さ(OPENNAMESZ)は256バイトです。
-
xidsize(XID長)
XIDの長さが返されます(単位:バイト)。
-
xid(XID)
XIDが返されます。領域の長さ(XIDSZ)は256バイトです。
-
dummy
予備の領域です。
リターン値
リターン値 |
意味 |
---|---|
EE_OK |
正常に終了しました(次のリソースマネジャ情報なし)。 |
EE_CONTINUE |
正常に終了しました(次のリソースマネジャ情報あり)。 |
EECOMER_CNDBPP |
オフラインバッチプロセスから発行しているため,この機能は使用できません。 |
EECOMER_CNDUOC |
UOCから発行しているため,この機能は使用できません。 |
EECOMER_ENVIRON |
TP1/EEの環境下にありません。 |
EETRNER_ARGUMENT |
引数に設定したポインタがNULLのため値を設定できません。 |
指定例
int returncode; EETRNID2 eetrnid; : memset(&eetrnid,'\0',sizeof(EETRNID2)); : returncode = EE_CONTINUE; while(returncode == EE_CONTINUE){ returncode = ee_trn_getinfo(&eetrnid,EENOFLAGS); if(returncode == EE_OK || returncode == EE_CONTINUE){ printf("プロセスID = %d\n ",eetrnid.processid); printf("中央処理通番 = %u\n ",eetrnid.centraltransactionid); : } else{ printf("cannot get transaction information\n"); } }
注意事項
リソースマネジャがない場合はリソースマネジャ情報以外の値が設定され,リターン値EE_OK(次のリソースマネジャ情報なし)でリターンします。