ページの先頭行へ戻る
Interstage Application Server リファレンスマニュアル(API編)
FUJITSU Software

1.9.1 ネーミングコンテキストインタフェース

1.9.1.1 CosNaming_NamingContext_bind()

名前

CosNaming_NamingContext_bind

形式

#include <orb.h>
#include <CosNaming.h>
void  CosNaming_NamingContext_bind(
      CosNaming_NamingContext  nc
      CosNaming_Name  *n,
      CORBA_Object  obj,
      CORBA_Environment  *env ) ;

機能説明

nで指定された名前と、objで指定されたオブジェクトリファレンスのバインディングを作成し、ncで指定されたネーミングコンテキストに登録します。
nがコンパウンドネームである場合、バインディングはコンパウンドネーム中で最後に指定されたネーミングコンテキストに登録されます。

パラメタ

nc

ネーミングコンテキストのオブジェクトリファレンス。

n

名前。

obj

nに指定した名前とバインドするオブジェクトリファレンス。

env

例外情報が格納される構造体。

復帰値

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

ユーザ例外の場合は、以下の詳細情報が設定されます。

IDL:CosNaming/NamingContext/NotFound:1.0

nに指定されたネーミングコンテキストが見つかりません。

IDL:CosNaming/NamingContext/CannotProceed:1.0

ncで指定されたネーミングコンテキストが存在しません。

IDL:CosNaming/NamingContext/InvalidName:1.0

名前の指定に誤りがあります。

IDL:CosNaming/NamingContext/AlreadyBound:1.0

指定された名前のバインディングがすでに存在します。

システム例外の場合は、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

1.9.1.2 CosNaming_NamingContext_rebind()

名前

CosNaming_NamingContext_rebind

形式

#include <orb.h>
#include <CosNaming.h>
void  CosNaming_NamingContext_rebind(
      CosNaming_NamingContext nc,
      CosNaming_Name *n,
      CORBA_Object obj,
      CORBA_Environment  *env );

機能説明

nで指定された名前とobjで指定されたオブジェクトリファレンスのバインディングを作成し、ncで指定されたネーミングコンテキストに登録します。指定された名前のバインディングがすでに存在してもエラーとはなりません。

nがコンパウンドネームである場合、バインディングはコンパウンドネーム中で最後に指定されたネーミングコンテキストに登録されます。

パラメタ

nc

ネーミングコンテキストのオブジェクトリファレンス。

n

名前。

obj

nに指定した名前とバインドするオブジェクトリファレンス。

env

例外情報が格納される構造体。

復帰値

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

ユーザ例外の場合は、以下の詳細情報が設定されます。

IDL:CosNaming/NamingContext/NotFound:1.0

nに指定されたネーミングコンテキストが見つかりません。

IDL:CosNaming/NamingContext/CannotProceed:1.0

ncで指定されたネーミングコンテキストが存在しません。

IDL:CosNaming/NamingContext/InvalidName:1.0

名前の指定に誤りがあります。

システム例外の場合は、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

1.9.1.3 CosNaming_NamingContext_bind_context()

名前

CosNaming_NamingContext_bind_context

形式

#include <orb.h>
#include <CosNaming.h>
void  CosNaming_NamingContext_bind_context(
      CosNaming_NamingContext  nc1,
      CosNaming_Name  *n,
      CosNaming_NamingContext  nc2,
      CORBA_Environment  *env );

機能説明

nで指定された名前とnc2で指定されたネーミングコンテキストのオブジェクトリファレンスのバインディングを作成し、nc1で指定されたネーミングコンテキストに登録します。

nがコンパウンドネームである場合、バインディングはコンパウンドネーム中で最後に指定されたネーミングコンテキストに登録されます。

パラメタ

nc1

登録するネーミングコンテキストのオブジェクトリファレンス。

n

名前。

nc2

nに指定した名前とバインドするオブジェクトリファレンス。

env

例外情報が格納される構造体。

復帰値

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

ユーザ例外の場合は、以下の詳細情報が設定されます。

IDL:CosNaming/NamingContext/NotFound:1.0

nに指定されたネーミングコンテキストが見つかりません。

IDL:CosNaming/NamingContext/CannotProceed:1.0

ncで指定されたネーミングコンテキストが存在しません。

IDL:CosNaming/NamingContext/InvalidName:1.0

名前の指定に誤りがあります。

IDL:CosNaming/NamingContext/AlreadyBound:1.0

指定された名前のバインディングがすでに存在します。

システム例外の場合は、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

注意事項

nc2には、登録先のネーミングサービスのオブジェクトリファレンス、および登録先のネーミングサービスにすでに登録されているネーミングコンテキストのオブジェクトリファレンスを指定しないでください。

1.9.1.4 CosNaming_NamingContext_rebind_context()

名前

CosNaming_NamingContext_rebind_context

形式

#include <orb.h>
#include <CosNaming.h>
void  CosNaming_NamingContext_rebind_context(
      CosNaming_NamingContext  nc1,
      CosNaming_Name  n,
      CosNaming_NamingContext  nc2,
      CORBA_Environment  *env ) ;

機能説明

nで指定された名前とnc2で指定されたネーミングコンテキストのオブジェクトリファレンスのバインディングを作成し、nc1で指定されたネーミングコンテキストに登録します。指定された名前のバインディングがすでに存在してもエラーとはなりません。

nがコンパウンドネームである場合、バインディングはコンパウンドネーム中で最後に指定されたネーミングコンテキストに登録されます。

パラメタ

nc1

登録するネーミングコンテキストのオブジェクトリファレンス。

n

名前。

nc2

nに指定した名前とバインドするオブジェクトリファレンス。

env

例外情報が格納される構造体。

復帰値

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

ユーザ例外の場合は、以下の詳細情報が設定されます。

IDL:CosNaming/NamingContext/NotFound:1.0

nに指定されたネーミングコンテキストが見つかりません。

IDL:CosNaming/NamingContext/CannotProceed:1.0

ncで指定されたネーミングコンテキストが存在しません。

IDL:CosNaming/NamingContext/InvalidName:1.0

名前の指定に誤りがあります。

システム例外の場合は、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

注意事項

nc2には、登録先のネーミングサービスのオブジェクトリファレンス、および登録先のネーミングサービスにすでに登録されているネーミングコンテキストのオブジェクトリファレンスを指定しないでください。

1.9.1.5 CosNaming_NamingContext_resolve()

名前

CosNaming_NamingContext_resolve

形式

#include <orb.h>
#include <CosNaming.h> 
CORBA_Object CosNaming_NamingContext_resolve(
      CosNaming_NamingContext  nc,
      CosNaming_Name  *n, 
      CORBA_Environment  *env ) ;

機能説明

ncで指定されたネーミングコンテキスト中で、nに指定された名前と結合されているオブジェクトリファレンスを返します。

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

パラメタ

nc

ネーミングコンテキストのオブジェクトリファレンス。

n

名前。

env

例外情報が格納される構造体。

復帰値

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

ユーザ例外の場合は、以下の詳細情報が設定されます。

IDL:CosNaming/NamingContext/NotFound:1.0

nで指定された名前が見つかりません。

IDL:CosNaming/NamingContext/CannotProceed:1.0

ncで指定されたネーミングコンテキストが存在しません。

IDL:CosNaming/NamingContext/InvalidName:1.0

名前の指定に誤りがあります。

システム例外の場合は、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

1.9.1.6 CosNaming_NamingContext_unbind()

名前

CosNaming_NamingContext_unbind

形式

#include <orb.h>
#include <CosNaming.h> 
void CosNaming_NamingContext_unbind(
      CosNaming_NamingContext  nc,
      CosNaming_Name   *n,
      CORBA_Environment  *env ) ;

機能説明

ncで指定されたネーミングコンテキストから、nで指定された名前のバインディングを削除します。

パラメタ

nc

ネーミングコンテキストのオブジェクトリファレンス。

n

ネーミングコンテキストからバインディングを削除する名前。

env

例外情報が格納される構造体。

復帰値

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

ユーザ例外の場合は、以下の詳細情報が設定されます。

IDL:CosNaming/NamingContext/NotFound:1.0

nで指定された名前が見つかりません。

IDL:CosNaming/NamingContext/CannotProceed:1.0

ncで指定されたネーミングコンテキストが存在しません。

IDL:CosNaming/NamingContext/InvalidName:1.0

名前の指定に誤りがあります。

システム例外の場合は、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

1.9.1.7 CosNaming_NamingContext_new_context()

名前

CosNaming_NamingContext_new_context

形式

#include <orb.h>
#include <CosNaming.h>
CosNaming_NamingContext CosNaming_NamingContext_new_context(
      CosNaming_NamingContext  nc, 
      CORBA_Environment *env );

機能説明

ncで指定されたネーミングコンテキストを管理するネーミングサーバ内に新しいネーミングコンテキストを作成し、作成されたネーミングコンテキストのオブジェクトリファレンスを返します。

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

パラメタ

nc

ネーミングコンテキストのオブジェクトリファレンス。

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、ネーミングコンテキストのオブジェクトリファレンスが返され、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONが設定され、env構造体の_idと_minorに詳細情報が設定されます。_idと_minorの意味については、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

注意事項

1.9.1.8 CosNaming_NamingContext_bind_new_context()

名前

CosNaming_NamingContext_bind_new_context

形式

#include <orb.h>
#include <CosNaming.h> 
CosNaming_NamingContext  CosNaming_NamingContext_bind_new_context(
      CosNaming_NamingContext  nc, 
      CosNaming_Name  *n,
      CORBA_Environment  *env );

機能説明

新しいネーミングコンテキストを作成し、そのオブジェクトリファレンスとnで指定された名前のバインディングを作成して、ncで指定した既存のネーミングコンテキストに登録します。呼び出し元には、新しいネーミングコンテキストのオブジェクトリファレンスを返します。nがコンパウンドネームである場合、バインディングはコンパウンドネーム中で最後に指定されたネーミングコンテキストに登録されます。また、新しいネーミングコンテキストは、名前の登録が行われたネーミングコンテキストを管理するネーミングサーバ内に作成されます。

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

パラメタ

nc

ネーミングコンテキストのオブジェクトリファレンス。

n

新しいネーミングコンテキストのオブジェクトリファレンスとバインドする名前。

env

例外情報が格納される構造体。

復帰値

正常終了した場合は、ネーミングコンテキストのオブジェクトリファレンスが返され、env構造体の_majorにCORBA_NO_EXCEPTIONが設定されます。
異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。

ユーザ例外の場合は、以下の詳細情報が設定されます。

IDL:CosNaming/NamingContext/NotFound:1.0

nに指定されたネーミングコンテキストが見つかりません。

IDL:CosNaming/NamingContext/CannotProceed:1.0

ncで指定されたネーミングコンテキストが存在しません。

IDL:CosNaming/NamingContext/InvalidName:1.0

名前の指定に誤りがあります。

IDL:CosNaming/NamingContext/AlreadyBound:1.0

指定された名前のバインディングがすでに存在します。

システム例外の場合は、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

1.9.1.9 CosNaming_NamingContext_destroy()

名前

CosNaming_NamingContext_destroy

形式

#include <orb.h>
#include <CosNaming.h> 
void  CosNaming_NamingContext_destroy(
      CosNaming_NamingContext  nc,
      CORBA_Environment  *env ) ;

機能説明

ncで指定されたネーミングコンテキストを削除します。

パラメタ

nc

削除するネーミングコンテキストのオブジェクトリファレンス。

env

例外情報が格納される構造体。

復帰値

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

異常終了した場合は、env構造体の_majorにCORBA_SYSTEM_EXCEPTIONまたはCORBA_USER_EXCEPTIONが設定され、env構造体の_idに詳細情報が設定されます。

ユーザ例外の場合は、以下の詳細情報が設定されます。

IDL:CosNaming/NamingContext/NotEmpty:1.0

ncで指定されたネーミングコンテキスト内にバインディングが存在します。

システム例外の場合は、“メッセージ集”の“CORBAサービスから通知される例外情報/マイナーコード”を参照してください。

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の呼び出し時に使用します。

本関数はバインディングアイテレータおよびバインディングリストを格納する領域を獲得するため、これらの領域が不要になった時点で、CosNaming_BindingIterator_destroy()およびCORBA_free()を使用して領域を解放する必要があります。

パラメタ

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サービスから通知される例外情報/マイナーコード”を参照してください。