4.4.2 dc_clt_disconnect_s − 常設コネクションの解放
- 〈この項の構成〉
(1) 形式
(a) _s付き関数の場合
#include <dcvclt.h> DCLONG dc_clt_disconnect_s(DCCLT_ID cltid, DCLONG flags)
(b) _s無し関数の場合
#include <dcvclt.h> DCLONG dc_clt_disconnect(DCLONG flags)
(2) 機能
CUP実行プロセス,rapサーバまたはDCCM3の論理端末との間の常設コネクションを解放します。
(3) UAPで値を設定する引数
-
cltid
dc_clt_cltin_s関数で受け取ったクライアントIDを指定します。
-
flags
DCNOFLAGSを指定します。
(4) リターン値
リターン値 |
数値 (10進数) |
意味 |
---|---|---|
DC_OK |
0 |
正常終了しました。または,TP1/Client/Wの場合,すでに常設コネクションが切断されています。 |
DCCLTER_INVALID_ARGS |
-2501 |
引数が誤っています。 |
DCCLTER_PROTO |
-2502 |
dc_rpc_open_s関数が発行されていません。 |
DCCLTER_NO_BUFS |
-2504 |
必要なバッファが確保できませんでした。 |
DCCLTER_NET_DOWN |
-2506 |
通信障害が発生しました。または,TP1/Client/Pの場合,すでに常設コネクションが切断されています。 |
DCCLTER_TIMED_OUT |
-2507 |
常設コネクション解放時に時間切れ(タイムアウト)が発生しました。 |
DCCLTER_SYSERR |
-2518 |
システムエラーが発生しました。 |
DCCLTER_INVALID_CLTID |
-2544 |
cltidに指定したクライアントIDは,dc_clt_cltin_s関数で受け取ったクライアントIDと異なっています。 |
(5) 注意事項
-
dc_clt_disconnect_s関数が次のリターン値でエラーリターンした場合,常設コネクションは解放されません。
-
DCCLTER_INVALID_ARGS
-
DCCLTER_PROTO
-
DCCLTER_NO_BUFS(クライアント側で検知した場合)
-
DCCLTER_INVALID_CLTID
-
-
dc_clt_disconnect_s関数が次のリターン値でエラーリターンした場合,TP1/Client側で強制的に常設コネクションを解放します。
-
DCCLTER_NO_BUFS(サーバ側で検知した場合)
-
DCCLTER_NET_DOWN
-
DCCLTER_TIMED_OUT
-
DCCLTER_SYSERR
このとき,CUP実行プロセスまたはDCCM3の論理端末は,TP1/Clientで常設コネクションが解放されたことを検知しないで,CUPからの要求を待ち続けることがあります。要求待ちを避けるため,常設コネクション問い合わせ間隔最大時間(DCCM3論理端末の場合は端末放置監視時間)に適切な値を設定してください。
-
-
dc_clt_disconnect_s関数をトランザクション内で発行した場合,トランザクションはコミットされます。
-
リターン値DCCLTER_SYSERRが戻る場合,CUPを終了してから開始し直してください。