Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 クライアント使用の手引 TP1/Client/W,TP1/Client/P編


4.5.6 dc_clt_get_trnid_s − 現在のトランザクションに関する識別子の取得

〈この項の構成〉

(1) 形式

(a) TP1/Client/Wの場合

■ _s付き関数

#include <dcvclt.h>
DCLONG dc_clt_get_trnid_s(DCCLT_ID cltid, char *trngid,
                          char *trnbid)

■ _s無し関数

#include <dcvclt.h>
DCLONG dc_clt_get_trnid(char *trngid, char *trnbid)

(b) TP1/Client/Pの場合

■ _s付き関数

#include <dcvclt.h>
DCLONG dc_clt_get_trnid_s(DCCLT_ID cltid, char CLTFAR *trngid,
                          char CLTFAR *trnbid)

■ _s無し関数

#include <dcvclt.h>
DCLONG dc_clt_get_trnid(char CLTFAR *trngid, char CLTFAR *trnbid)

(2) 機能

現在のトランザクショングローバル識別子,およびトランザクションブランチ識別子を取得します。

この識別子は,次に示す関数を実行してトランザクションが起動されたときに,OpenTP1が割り当てたものです。

(3) UAPで値を設定する引数

(4) 値が返される引数

(5) リターン値

リターン値

数値

(10進数)

意味

DC_OK

0

正常終了しました。

DCCLTER_INVALID_ARGS

-2501

trngid,またはtrnbidのポインタがNULLです。

DCCLTER_PROTO

-2502

誤ったコンテクスト(例 トランザクションの範囲外)から関数を呼び出しています。

DCCLTER_NO_BUFS

-2504

メモリ不足が発生しました。

DCCLTER_INVALID_CLTID

-2544

cltidに指定したクライアントIDは,dc_clt_cltin_s関数で受け取ったクライアントIDと異なっています。

(6) 注意事項

引数trngidおよびtrnbidには,17バイト以上の領域を指定してください。領域が17バイト未満の場合,TP1/Client内部の処理で領域破壊を起こすおそれがあります。