名前
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()を使用して領域を解放する必要があります。
パラメタ
対象のTypeCodeオブジェクト。
メンバのインデックス。
例外情報が格納される構造体。
復帰値
正常終了した場合は、メンバのラベルが返されます。
異常終了した場合は、env構造体の_majorにはCORBA_USER_EXCEPTIONが設定され、_idに詳細情報が設定されます。_idの意味と値は次のとおりです。
TypeCodeの属性情報が無効です。
Indexの値が無効です。