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

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

(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も指定されていない状態で,ブロッキングタイムアウトが発生しました。
TPEBLOCKTPNOBLOCKを指定したtpconnect関数を呼び出したときに,ブロッキング状態になりました。
TPGOTSIGシグナルは受信されましたが,TPSIGRSTRTが指定されていません。
TPEPROTOtpconnect関数を呼び出すときの状態が適切ではありません。
TPESYSTEMコミュニケーションリソースマネジャでエラーが発生しました。
TPEOSオペレーティングシステムでエラーが発生しました。

(5) 注意事項