Interstage Application Server リファレンスマニュアル(API編)
目次 索引 前ページ次ページ

第1章 C言語インタフェース> 1.8 TypeCodeインタフェース

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);

機能説明

 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の値が無効です。

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

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