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

<この項の構成>
(1) 形式
(2) 機能
(3) UAPで値を設定する引数
(4) 値が返される引数
(5) リターン値
(6) 注意事項

(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_OK0正常終了しました。
DCCLTER_INVALID_ARGS-2501trngid,またはtrnbidのポインタがNULLです。
DCCLTER_PROTO-2502誤ったコンテクスト(例 トランザクションの範囲外)から関数を呼び出しています。
DCCLTER_NO_BUFS-2504メモリ不足が発生しました。
DCCLTER_INVALID_CLTID-2544cltidに指定したクライアントIDは,dc_clt_cltin_s関数で受け取ったクライアントIDと異なっています。

(6) 注意事項

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