Hitachi

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


4.8.3 tpconnect − 会話型サービスとのコネクションの確立

〈この項の構成〉

(1) 形式

(a) TP1/Client/Wの場合

#include <dcvxatmi.h>
DCLONG tpconnect(char *svc, char *data, DCLONG len,
                 DCLONG flags)

(b) TP1/Client/Pの場合

#include <dcvxatmi.h>
DCLONG tpconnect(char CLTFAR *svc, char CLTFAR *data, DCLONG len,
                 DCLONG flags)

(2) 機能

TP1/Clientと会話型サービスとの間に,コネクションを確立します。確立するコネクションは,半二重型です。関数が正常に処理されると,コネクションを指定するための記述子がリターンされます。

コネクションの確立処理時に,tpconnect関数を発行する側は,受信する側のサービス関数に,指定した情報を渡すことができます。発行する側が情報を渡す場合は,dataにtpalloc関数で割り当てたバッファへのポインタを指定し,lenに送信データの長さを指定します。

会話型サービスをするときに,データを受信するための関数を呼び出さないで,情報を受け取れます。

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

(4) リターン値

正常に完了した場合,tpconnect関数は,確立したコネクションを指定するための記述子をリターンします。エラー時には,-1をリターンし,リターン値としてエラー情報を示す次のどれか一つの値を,tperrnoに設定します。

リターン値

意味

TPEINVAL

引数に誤りがあります。

TPENOENT

引数に指定された値は,システムで定義されていないため,コネクションを確立できません。

TPEITYPE

引数に指定されている値は,指定したサービスでは使用できません。

TPELIMIT

未解決のコネクションが最大数に達したので,呼び出し側の要求は送信されません。

TPETRAN

指定したサービスがトランザクション処理ができないサーバに属しているのに,TPNOTRANが指定されていません。

TPETIME

タイムアウトが発生しました。

  • 発行側がトランザクションモードの場合

    トランザクションタイムアウトが発生しました。プロセスを異常終了します。

    トランザクションはロールバックされます。ロールバックが完了するまでは,どのコネクションでメッセージ送受信が行われても,TPETIMEが返されます。

  • 発行側がトランザクションモード以外の場合

    TPNOBLOCKもTPNOTIMEも指定されていない状態で,ブロッキングタイムアウトが発生しました。

TPEBLOCK

TPNOBLOCKを指定したtpconnect関数を呼び出したときに,ブロッキング状態になりました。

TPGOTSIG

シグナルは受信されましたが,TPSIGRSTRTが指定されていません。

TPEPROTO

tpconnect関数を呼び出すときの状態が適切ではありません。

TPESYSTEM

コミュニケーションリソースマネジャでエラーが発生しました。

TPEOS

オペレーティングシステムでエラーが発生しました。

(5) 注意事項