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

1.8.8 CORBA_TypeCode_member_label()

名前

  CORBA_TypeCode_member_label

形式

  #include <orb.h>
  CORBA_any*  CORBA_TypeCode_member_label(
        CORBA_TypeCode  Object,
        unsigned long  index,
        CORBA_Environment  *env);
  typedef  CORBA_Object  CORBA_TypeCode;

機能説明

  Objectで指定したTypeCodeオブジェクトのindexで指定したメンバのラベルを返します。
例えば、以下のunion型の場合には

  union sample switch( char ){
      case 'a': long x;
      case 'b': string y;
  }

  indexを0とした場合、復帰値のCORBA_anyの_typeにはcharを示すTypeCode(TC_char)が、_valueには、'a'を表すchar変数の領域へのポインタが設定されます。
  以下の属性情報を持つTypeCodeについて有効となります。

  CORBA_tk_union  16L

  本関数はメンバのラベルを格納する領域を獲得するため、この領域が不要になった時点で、CORBA_free()を使用して領域を解放する必要があります。

パラメタ

  Object

  対象のTypeCodeオブジェクト。

  index

  メンバのインデックス。

  env

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

復帰値

  正常終了した場合は、メンバのラベルが返されます。
  異常終了した場合は、env構造体の_majorにはCORBA_USER_EXCEPTIONが設定され、_idに詳細情報が設定されます。_idの意味と値は次のとおりです。

  ex_CORBA_TypeCode_BadKind

  TypeCodeの属性情報が無効です。

  ex_CORBA_TypeCode_Bounds

  Indexの値が無効です。