ee_rpc_reply_suspend
- 〈このページの構成〉
形式
ANSI C,C++の形式
#include <eerpc.h> int ee_rpc_reply_suspend(EEULONG type, EEULONG *id, EELONG timeout, EELONG flags)
機能
サービス関数終了時のRPC応答メッセージ送信を抑止します。抑止したRPC応答メッセージは,ee_rpc_reply_send関数を使って明示的に送信してください。トランザクションブランチ内ではRPC応答メッセージを抑止できません。
UAPで値を設定する引数
●type
抑止識別子の設定方法を設定します。
- EERPC_IDTYPE_SYSTEM
-
TP1/EEが抑止識別子を割り当てます。
- EERPC_IDTYPE_USER
-
ユーザが抑止識別子を指定します。
●id
typeにEERPC_IDTYPE_USERを設定した場合に,抑止識別子を設定します。抑止識別子として1〜2147483647の範囲の値を格納したポインタのアドレスを設定してください。
●timeout
RPC応答メッセージ抑止限界時間を設定します(単位:秒)。指定できる値は1〜65535,EERPC_TIMEOUT_DEF,またはEERPC_TIMEOUT_INFです。
EERPC_TIMEOUT_DEFを設定した場合,RPC関連定義のrpc_reply_suspend_timeオペランドで指定した値が抑止限界時間になります。EERPC_TIMEOUT_INFを設定した場合は,抑止限界時間は無制限になります。
●flags
EENOFLAGSを設定します。
TP1/EEから値が返される引数
●id
typeにEERPC_IDTYPE_SYSTEMを設定した場合に,抑止識別子が返されます。抑止識別子は,TP1/EEが自動的に割り当てた,プロセス内で一意の識別子です。
リターン値
リターン値 |
意味 |
---|---|
EE_OK |
正常に終了しました。 |
EECOMER_CNDBPP |
オフラインバッチプロセスから発行しているため,この機能は使用できません。 |
EECOMER_CNDUOC |
UOCから発行しているため,この機能は使用できません。 |
EECOMER_ENVIRON |
TP1/EEの環境下にありません。 |
EERPCER_ALREADY |
RPC応答メッセージ送信は応答抑止済みです。 |
EERPCER_ARGUMENT |
引数に設定した値が間違っています。 |
EERPCER_CONDITION |
関数の呼び出し条件が不正です。 |
EERPCER_LIMITS_OVER |
定義で指定した同時抑止最大数を超えました。 |
EERPCER_PROTO |
トランザクションブランチ内で関数を呼び出しています。 |
非応答型RPCで関数を呼び出しています。 |
|
リモートAPI機能による自サービスグループへの代理実行要求中に関数を呼び出しています。 |
|
コネクションレス(UDPプロトコル)で起動されたトランザクション内で関数を発行しています。 |
|
RPCメッセージの永続化機能が有効な状態で関数を発行しています。 |
|
EERPCER_SYSERR |
システムエラーが起こりました。 |
注意事項
-
この関数を呼び出したあと,RPC応答メッセージ抑止限界時間以内にee_rpc_reply_send関数を呼び出さなかった場合,RPCエラー応答メッセージ(EERPCER_TIMED_OUT)が自動的に送信されます。そのあとでee_rpc_reply_send関数を呼び出しても,関数はエラーになります。
-
同一の抑止識別子を複数のee_rpc_reply_suspend関数で指定できます。この場合,一度のee_rpc_reply_send関数で複数のRPC応答メッセージが送信されます。
-
非応答型RPCでこの関数を呼び出した場合は,エラーリターンします。
-
【XTC限定】コネクションレス(UDPプロトコル)で起動されたトランザクション内でこの関数を発行した場合は,エラーリターンします。