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

第1章 C言語インタフェース> 1.9 ネーミングサービスインタフェース> 1.9.1 ネーミングコンテキストインタフェース

1.9.1.10 CosNaming_NamingContext_list()

名前

 CosNaming_NamingContext_list

形式

 #include <orb.h>
 #include <CosNaming.h>
 void  CosNaming_NamingContext_list (
        CosNaming_NamingContext  nc,
        CORBA_unsigned_long  how_many,
        CosNaming_BindingList  **bl,
        CosNaming_BindingIterator  *bi,
        CORBA_Environment  *env ) ;

機能説明

 ネーミングコンテキスト中のバインディングのリストを、最大でhow_manyで指定された個数分返します。how_manyで指定された値が、nsconfigファイルのbl_how_manyパラメタで設定されている最大バインディング数より大きい場合、ネーミングサービスは最大bl_how_manyパラメタで指定された個数分のバインディングを返します。how_manyに0が設定された場合、クライアントはバインディングにアクセスするためのbiと、長さ0のシーケンスのblを返します。
 リストはblで指定されたCosNaming_BindingList構造体に設定されます。CosNaming_BindingListはCosNaming.hで次のように宣言されています。

enum  CosNaming_BindingType { nobject, ncontext } ;
struct  CosNaming_Binding {
        Name  binding_name ;
        BindingType  binding_type ;
} ;
typedef struct {
        CORBA_long  _maximum ;
       CORBA_long  _length ;
        struct CosNaming_Binding  *_buffer ;
} CosNaming_BindingList ;

 ネーミングコンテキスト内のバインディングの数がhow_manyで指定された数よりも多い場合、ネーミングコンテキスト内での現在の位置を示すオブジェクトが生成され、このオブジェクトリファレンスがbiに返されます。このオブジェクトをバインディングアイテレータといいます。biに返されたオブジェクトリファレンスは、BindingIterator_next_one、およびBindingIterator_next_nの呼び出し時に使用します。

 ncには、CORBA_ORB_resolve_initial_reference関数で得たネーミングサービスのオブジェクトリファレンス(ネーミングサービスの初期ネーミングコンテキスト)、またはCosNaming_NamingContext_new_contextで作成したネーミングコンテキストのオブジェクトリファレンスを指定します。

復帰値

 正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
 異常終了した場合は、CORBA_USER_EXCEPTIONが設定されます。


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

Copyright 2003 FUJITSU LIMITED