dc_rpc_service_retry
名称
サービス関数のリトライ
形式
ANSI C ,C++の形式
#include <dcrpc.h>
int dc_rpc_service_retry(void)
K&R版 C の形式
#include <dcrpc.h>
int dc_rpc_service_retry()
機能
実行中のサービス関数の処理をリトライします。リトライする場合は,サービス関数でdc_rpc_service_retry関数を呼び出したあとで,リトライするサービス関数をリターンしてください。リターンしたあと,同じプロセスで同じサービス関数が再起動されます。
応答型RPCで呼ばれたサービス関数がリトライされた場合は,リトライ前のサービス関数が設定した値(応答を格納する領域と応答の長さ)は無効になります。
ユーザサービス定義のrpc_service_retry_countオペランドに指定した回数を超えた(rpc_service_retry_countオペランドに0を指定した場合も含む)あとでdc_rpc_service_retry関数を呼び出した場合,関数は DCRPCER_RETRY_COUNT_OVER でエラーリターンします。このとき,サービス関数はリトライされません。応答型RPCで呼ばれたサービス関数の場合は,応答を格納する領域の内容をクライアントUAPに返します。
リターン値
リターン値 | リターン値(数値) | 意味 |
---|---|---|
DC_OK | 0 | 正常に終了しました。 |
DCRPCER_PROTO | -302 | dc_rpc_service_retry関数を呼び出す条件が間違っています。次に示すことが考えられます。
|
DCRPCER_RETRY_COUNT_OVER | -377 | ユーザサービス定義のrpc_service_retry_countオペランドに指定したサービスリトライ回数最大値を超えて,dc_rpc_service_retry関数を呼び出しています。これ以上サービス関数をリトライできません。 |
注意事項