| Interstage Application Server リファレンスマニュアル(API編) |
目次
索引
![]()
|
| 第1章 C言語インタフェース | > 1.9 ネーミングサービスインタフェース | > 1.9.1 ネーミングコンテキストインタフェース |
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の呼び出し時に使用します。
本関数はバインディングアイテレータおよびバインディングリストを格納する領域を獲得するため、これらの領域が不要になった時点で、CosNaming_BindingIterator_destroy()およびCORBA_free()を使用して領域を解放する必要があります。
正常終了した場合は、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idと_minorに詳細情報が設定されます。_idと_minorの意味については、"メッセージ集"の"CORBAサービスから通知される例外情報/マイナーコード”を参照してください。
目次
索引
![]()
|