名前
CORBA::ORB::resolve_initial_references_remote
形式
#include <orb_cplus.h> Object_ptr CORBA::ORB::resolve_initial_references_remote( CORBA::ORB::ObjectId identifier, CORBA::ORB::RemoteModifier& m, CORBA::Environment& env); typedef CORBA::string_var CORBA_Identifier typedef CORBA::string_var InitAgentDesignator; typedef sequence<InitAgentDesignator> RemoteModifier;
機能説明
identifierで指定されたオブジェクトのオブジェクトリファレンスを返します。オブジェクトリファレンスは、URL形式でmに定義されたホストのinitial_servicesを検索して獲得します。
identifierには、以下のものが使用できます。
インタフェースリポジトリ(動的スケルトンインタフェース)
ネーミングサービス
mには複数のURLを指定することが可能です。この場合、指定された順に検索を行い、オブジェクトリファレンスが見つかった時点で検索は打ち切られます。
URLの指定形式を以下に示します。
<address>には ホスト名、DNS名、IPアドレスを指定することが可能です。省略はできません。
<port>には接続先ORBのポート番号を指定します。
なお、IPv6形式のアドレスを指定することはできません。
本関数はオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA::release()を使用して領域を解放する必要があります。
パラメタ
イニシャルリファレンスの識別子。
接続先URLのリスト。
例外情報が格納される構造体。
復帰値
正常終了した場合、オブジェクトリファレンスが返されます。
異常終了した場合、envのexceptionメンバにSystemExceptionオブジェクトまたはUserExceptionオブジェクトのオブジェクトリファレンスが設定されます。UserException_idには以下の詳細情報が設定されます。
identifierに指定されたオブジェクトが見つかりません。
SystemExceptionオブジェクトのオブジェクトリファレンスに設定された例外情報およびマイナーコードの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
注意事項
GS等、Interstage Application Server以外のORB製品に対して本関数を使用することはできません。
使用例
CORBA::String_var *URLs; CORBA::ORB::RemoteModifier *m; URLs = CORBA::ORB::RemoteModifier::allocbuf(2); URLs[0] = "iiop://remotehost01:8002"; URLs[1] = "iiop://remotehost02:8002"; m = new CORBA::ORB::RemoteModifier(2,2,URLs,CORBA_TRUE); CORBA::Object_ptr obj = orb->resolve_initial_references_remote( CORBA_ORB_ObjectId_NameService, *m, env ); |