分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス C言語編
名称
形式
ANSI C ,C++の形式
#include <dcrpc.h> int dc_rpc_mainloop(DCLONG flags)
K&R版 C の形式
#include <dcrpc.h> int dc_rpc_mainloop(flags) DCLONG flags;
機能
このプロセスで実行中のSPPにあるサービス関数へのサービス要求を受け付けます。dc_rpc_mainloop関数は,メイン関数で呼び出します。プロセスで1回だけ呼び出してください。
dc_rpc_mainloop関数は,OpenTP1からの終了要求を受けるまでリターンしません。OpenTP1からの終了要求を受けるとは次のような場合です。
UAPで値を設定する引数
●flags
DCNOFLAGSを設定します。
リターン値
| リターン値 | リターン値(数値) | 意味 |
|---|---|---|
| DC_OK | 0 | OpenTP1からの終了要求を受けました。SPPはすぐに終了処理をして,dc_rpc_close関数を呼び出してexit()してください。 |
| DCRPCER_INVALID_ARGS | -301 | 引数が間違っています。 |
| DCRPCER_PROTO | -302 | dc_rpc_open関数を呼び出していません。 |
| dc_rpc_mainloop関数か,dc_mcf_mainloop関数はすでに呼び出しています。 | ||
| DCRPCER_FATAL | -303 | SPPのサービスを開始できませんでした。 |
注意事項
dc_rpc_mainloop関数は,OpenTP1からの終了要求を受けるとリターンします。ただし,次のような場合はdc_rpc_mainloop関数がリターンしないままプロセスが終了します。
上記のような場合,dc_rpc_mainloop関数が正常に終了したあとで,終了処理をするようにSPPを作成してあっても,その処理は実行されないので注意してください。
All Rights Reserved. Copyright (C) 2006, 2012, Hitachi, Ltd.