4.6.4 dc_clt_assem_send_s組み立てメッセージの送信

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

(1) 形式

(a) _s付き関数

#include <dcvclt.h>
DCLONG dc_clt_assem_send_s(DCCLT_ID cltid, char CLTFAR *buff, DCLONG sendleng,
char CLTFAR *hostname, unsigned short portnum, DCLONG timeout, DCLONG flags)

(b) _s無し関数

#include <dcvclt.h>
DCLONG dc_clt_assem_send(char CLTFAR *buff, DCLONG sendleng, char CLTFAR *hostname,
unsigned short portnum, DCLONG timeout, DCLONG flags)

(2) 機能

メッセージの組み立て機能を使用して,メッセージを送信します。この場合,4バイトのメッセージ情報を送信したあと,引数buffに指定されたメッセージを送信します。相手システムとのコネクションが確立されていない場合は,引数hostnameとportnumの指定値を基にコネクションを確立し,メッセージを送信します。

また,クライアント環境定義DCCLTDELIVERYCHECKにYを指定した場合は,メッセージの送達確認機能を使用して,メッセージを送信します。この場合,11バイトのメッセージ情報を送信したあと,引数buffに指定されたメッセージを送信します。TP1/Clientは,11バイトのメッセージ情報を受信したあと,CUPに制御を戻します。

この関数を実行する場合,引数flagsにDCCLT_ONEWAY_SNDまたはDCCLT_SNDRCVを指定した,dc_rpc_open_s関数をあらかじめ実行してください。

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

(4) リターン値

リターン値数値
(10進数)
意味
DC_OK0正常終了しました。
DCCLTER_INVALID_ARGS-2501引数に指定した値が誤っています。
DCCLTER_PROTO-2502次のどちらかの要因が考えられます。
  • dc_rpc_open_s関数が実行されていません。
  • dc_rpc_open_s関数は実行されていますが,引数flagsにDCCLT_ONEWAY_SND,またはDCCLT_SNDRCVを指定していません。
DCCLTER_NO_BUFS-2504メモリ不足が発生しました。
DCCLTER_NET_DOWN-2506ネットワーク障害が発生しました。コネクションは解放されます。
DCCLTER_TIMED_OUT-2507コネクション確立要求時にタイムアウトになりました。または,メッセージの送達確認機能の使用時に,応答専用データの受信でタイムアウトになりました。コネクションは解放されます。
DCCLTER_SYSERR-2518システムエラーが発生しました。ネットワーク障害の場合,コネクションは解放されます。
DCCLTER_RESOURCE-2538資源不足が発生しました。
DCCLTER_WRONG_HOST-2539ホスト名が誤っています。または,hostnameおよびDCSNDHOSTの両方にホスト名が指定されていません。
DCCLTER_CONNREFUSED-2541相手システムに対するコネクションの確立要求が拒絶されました。
DCCLTER_CONNFREE-2542メッセージの送達確認機能の使用時に,相手システムからコネクションが解放されました。
DCCLTER_INVALID_CLTID-2544引数cltidに指定したクライアントIDが,dc_clt_cltin_s関数で受け取ったクライアントIDと異なっています。
DCCLTER_PORT_IN_USE-2547OSが自動的に割り当てるポート番号が不足しています。
DCCLTER_INVALID_MESSAGE-2548メッセージの送達確認機能の使用時に,不正なメッセージを受信しました。コネクションは解放されます。
DCCLTER_COLLISION_MESSAGE-2584メッセージの送達確認機能の使用時に,メッセージが衝突しました。コネクションは解放されます。

(5) 注意事項