Interstage Application Server リファレンスマニュアル(API編) |
目次
索引
![]() ![]() |
第1章 C言語インタフェース | > 1.11 その他の関数 |
CORBA_ORB_register_reply_interceptor
void CORBA_ORB_register_reply_interceptor( CORBA_ORB orb, void (*funcptr)(void), CORBA_Environment *env );
引数の関数ポインタ(funcptr)で指定した関数を出口関数として登録します。登録した出口関数は、サーバアプリケーションのインタフェース実装関数が処理を完了し、クライアントへリプライを送信した後に実行されます。
なお、インタフェース実装関数にonewayが指定されているなど、クライアントへリプライが送信されない場合でも、インタフェース実装関数の処理が完了した後に出口関数が実行されます。
正常復帰した場合、env構造体の_majorにはCORBA_NO_EXCEPTIONが設定されます。
異常終了した場合、env構造体の_majorにはCORBA_SYSTEM_EXCEPTIONが設定され、_idと_minorに詳細情報が設定されます。設定される例外情報の意味は以下のとおりです。マイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
void exitfunc() { /* 出口関数の処理 */ } int main( int argc, char *argv[] ) { CORBA_ORB orb; CORBA_Environment env; orb = CORBA_ORB_init( &argc, argv, FJ_OM_ORBid, &env ); CORBA_ORB_register_reply_interceptor( orb, exitfunc, &env ); ... }
目次
索引
![]() ![]() |