送信メッセージの通番編集UOCでは,受け取った出力通番を基に,ユーザ独自の処理ができます。例えば,出力通番を使用して編集した送信メッセージを再送要求します。
送信メッセージの通番編集UOCを起動する場合,メッセージ送信の関数で,出力通番を付けるように設定してください。UOCは,UAPがdc_mcf_send関数,dc_mcf_reply関数またはdc_mcf_resend関数を発行したときに,MCFによって起動されます。
UAPのメイン関数の中に,UOCの関数アドレスを登録しておきます。UAPのメイン関数に登録するdc_mcf_regster関数の形式を次に示します。
#include <dcmcf.h>
int dc_mcf_regster(DCLONG flags, DCLONG (*uoc_addr)
(DCLONG flags, char *termname,
DCLONG sendno, DCLONG sendid,
DCLONG dataleng, char *senddata))
#include <dcmcf.h>
int dc_mcf_regster(flags, uoc_addr)
DCLONG flags;
DCLONG (*uoc_addr)();
リターン値 | 意味 |
---|---|
DC_OK | 正常に終了しました。 |
DCMCFER_INVALID_ARGS | 引数の指定が間違っています。 |
DCMCFER_NOMEM | ローカルメモリが不足しました。 |
メイン関数への登録例を次に示します。
main()
{
extern DCLONG send_uoc();
dc_rpc_open();
dc_mcf_open();
dc_mcf_regster(DCMCF_SEND_UOC,send_uoc);
dc_mcf_mainloop();
dc_mcf_close();
dc_rpc_close();
}
main()
{
extern DCLONG send_uoc();
dc_rpc_open();
dc_mcf_open();
dc_mcf_regster(DCMCF_SEND_UOC,send_uoc);
dc_rpc_mainloop();
dc_mcf_close();
dc_rpc_close();
}
メイン関数,サービス関数,スタブ関数にUOC関数をリンケージしてUAPの実行形式プログラムを生成します。