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_references()で取得したネーミングサービスのオブジェクトリファレンス(ネーミングサービスの初期ネーミングコンテキスト)、またはCosNaming_NamingContext_new_context()で作成したネーミングコンテキストのオブジェクトリファレンス。
 how_many
 獲得したいバインディングリストの個数。
 bl
 バインディングリストの設定領域。
 bi
 バインディングアイテレータの設定領域。
 env
 例外情報が格納される構造体。

復帰値

 正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
 異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idと_minorに詳細情報が設定されます。_idと_minorの意味については、"メッセージ集"の"CORBAサービスから通知される例外情報/マイナーコード”を参照してください。


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

All Rights Reserved, Copyright(C) 富士通株式会社 2005