4.3.1 dc_rpc_open_s − UAPの開始
- 〈この項の構成〉
(1) 形式
(a) _s付き関数の場合
#include <dcvrpc.h> DCLONG dc_rpc_open_s(DCCLT_ID cltid, DCLONG flags)
(b) _s無し関数の場合
#include <dcvrpc.h> int dc_rpc_open(DCLONG flags)
(2) 機能
OpenTP1のSPPを呼び出すための環境,またはTCP/IP通信機能を使用するための環境を初期化します。
dc_rpc_open_s関数は,RPC,トランザクション制御,トランザクション制御の各種関数を実行する前に実行してください。
(3) UAPで値を設定する引数
-
cltid
dc_clt_cltin_s関数で受け取ったクライアントIDを指定します。
-
flags
初期化する環境を指定します。
DCNOFLAGS:SPPを呼び出すための環境
DCCLT_ONEWAY_SND:メッセージを一方送信するための環境
DCCLT_ONEWAY_RCV:メッセージを一方受信するための環境
DCCLT_SNDRCV:メッセージを送受信するための環境
DCNOFLAGSを指定した場合は,TCP/IP通信機能を使用できません。
DCNOFLAGS以外を指定した場合でも,RPCの機能は使用できます。
DCCLT_SNDRCVを指定した場合は,同時にDCCLT_ONEWAY_SND,およびDCCLT_ONEWAY_RCVを指定してはなりません。
(4) リターン値
リターン値 |
数値 (10進数) |
意味 |
---|---|---|
DC_OK |
0 |
正常終了しました。 |
DCRPCER_INVALID_ARGS |
-2401 |
引数に指定した値が誤っています。 |
DCRPCER_PROTO |
-2402 |
dc_rpc_open_s関数はすでに実行されています。 または,dc_clt_cltin_s関数が実行されていません。 |
DCRPCER_FATAL |
-2403 |
次のどれかの要因で,このリターン値が戻りました。 ・初期化に失敗しました。 ・クライアント環境定義の指定が誤っています。 |
DCRPCER_PORT_IN_USE |
-2447 |
指定したポート番号は使用されています。 |
DCCLTER_INVALID_CLTID |
-2544 |
cltidに指定したクライアントIDは,dc_clt_cltin_s関数で受け取ったクライアントIDと異なっています。 |
(5) 注意事項
次に示す場合は,dc_rpc_close_s関数を実行した直後に,再びflagsにDCCLT_ONEWAY_RCVを指定したdc_rpc_open_s関数は実行できません。この場合,15秒から20秒後にdc_rpc_open_s関数を実行してください。
-
flagsにDCCLT_ONEWAY_RCVを指定したdc_rpc_open_s関数を実行したあと,dc_clt_receive_s関数を実行してメッセージを受信し,相手システムがコネクションを解放する前にCUP側でdc_rpc_close_s関数を実行してコネクションを解放した場合