Interstage Application Server リファレンスマニュアル(API編)
目次 索引 前ページ次ページ

第1章 C言語インタフェース> 1.1 ORBインタフェース

1.1.4 CORBA_ORB_resolve_initial_references_remote()

名前

 CORBA_ORB_resolve_initial_references_remote

形式

 #include <orb.h>

 CORBA_Object  CORBA_ORB_resolve_initial_references_remote(
        CORBA_ORB  orb,
        CORBA_ORB_ObjectId  identifier,
        CORBA_ORB_RemoteModifier *m,
        CORBA_Environment *env );

 typedef CORBA_string  CORBA_Identifier;
 typedef CORBA_string InitAgentDesignator;
 typedef sequence<InitAgentDesignator> RemoteModifier;

機能説明

 identifierで指定されたオブジェクトのオブジェクトリファレンスを返します。オブジェクトリファレンスは、URL形式でmに定義されたホストのinitial_servicesを検索して獲得します。
 identifierには、以下のものが使用できます。

CORBA_ORB_ObjectId_InterfaceRepository
 インタフェースリポジトリ(動的スケルトンンインタフェース)
CORBA_ORB_ObjectId_NameService
 ネーミングサービス

 mには複数のURLを指定することが可能です。この場合、指定された順に検索を行い、オブジェクトリファレンスが見つかった時点で検索は打ち切られます。

 URLの指定形式を以下に示します。

iiop://<address>[:<port>]
 <address>には ホスト名、DNS名、IPアドレスを指定することが可能です。省略はできません。
 <port>には接続先ORBのポート番号を指定します。
 なお、IPv6形式のアドレスを指定することはできません。

 orbには、CORBA_ORB_init()で返されるORBのオブジェクトリファレンスを指定します。

 本関数はオブジェクトリファレンスを格納する領域を獲得するため、この領域が不要になった時点で、CORBA_Object_release()を使用して領域を解放する必要があります。

復帰値

 正常終了した場合は、オブジェクトリファレンスが返されます。
 異常終了した場合は、env構造体に例外情報が設定されます。
 CORBA_USER_EXCEPTIONが発生した場合は、env構造体の_idに以下の詳細情報が設定されます。

 IDL:CORBA/ORB/InvalidName:1.0
 identifierに指定されたオブジェクトが見つかりません。

注意事項

 GS等、Interstage Application Server以外のORB製品に対して本関数を使用することはできません。

使用例

 CORBA_string  URLs[2];
 CORBA_ORB_RemoteModifier m;

 m._length = m._maximum = 2;
 m._buffer = URLs;

 URLs[1] = "iiop://remotehost01:8002";
 URLs[0] = "iiop://remotehost02:8002";
    
 cos_naming = CORBA_ORB_resolve_initial_references_remote(
                   orb,
                   CORBA_ORB_ObjectId_NameService,
                   &m,
                   &env);

目次 索引 前ページ次ページ

Copyright 2005 FUJITSU LIMITED