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

[目次][索引][前へ][次へ]

4.8.5 tpsend会話型サービスへのメッセージの送信

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

(1) 形式

(a) TP1/Client/Wの場合
 
#include <dcvxatmi.h>
int tpsend(DCLONG cd, char *data, DCLONG len,
           DCLONG flags,
           DCLONG *revent)
 
(b) TP1/Client/Pの場合
 
#include <dcvxatmi.h>
int tpsend(DCLONG cd, char CLTFAR *data, DCLONG len,
           DCLONG flags,
           DCLONG CLTFAR *revent)
 

(2) 機能

会話型サービスへデータを送信します。

tpsend関数は,コネクションの制御権を持つ側から発行できます。

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

(4) リターン値

エラー時には,tpsend関数は-1をリターンし,リターン値としてエラー情報を示す次のどれか一つの値を,tperrnoに設定します。

リターン値 意味
TPEINVAL 引数に誤りがあります。
TPEBADDESC cdで,誤った記述子を指定しています。
TPETIME タイムアウトが発生しました。
  • 発行側がトランザクションモードの場合
    トランザクションタイムアウトが発生しました。トランザクションはロールバックされます。
    トランザクションタイムアウトが発生した場合は,トランザクションをロールバックするまでの間,新規のデータ送信,および未決着の応答に対して,TPETIMEが返されます。
  • トランザクションモード以外の場合
    TPNOBLOCKおよびTPNOTIMEがどちらも指定されていない状態で,ブロッキングタイムアウトが発生しました。
上記のどちらの場合も,*dataに指定した値は変更されません。
TPEEVENT イベントが発生しました。リターン値はreventに返されます。
TPEBLOCK TPNOBLOCKを指定したtprecv関数を呼び出したときに,ブロッキング状態になりました。
TPGOTSIG シグナルは受信されましたが,TPSIGRSTRTを指定していません。
TPEPROTO tpsend関数発行時の状態が適切ではありません。
TPESYSTEM コミュニケーションリソースマネジャでエラーが発生しました。
TPEOS オペレーティングシステムでエラーが発生しました。

(5) 注意事項