TypeCodeオブジェクトは、クライアント/サーバ間でデータ型が不定の場合に使用し、あらゆるデータ型を表現することが可能です。以下のケースで使用されます。
any型の記述
インタフェースリポジトリ(以降IRと呼ぶ)の復帰値および、動的起動インタフェースを使用する場合
TypeCodeオブジェクトで使用できるデータ型を以下に示します。TypeCodeオブジェクトの属性情報には、整数型、文字列型などを表すデータの識別子と、文字列の最大長などの付加情報から構成されています。
TypeCode  | 種類・データ型  | 属性情報  | |
|---|---|---|---|
識別子  | 付加情報  | ||
TC_null  | 未定義  | tk_null  | なし  | 
TC_void  | void型  | tk_void  | なし  | 
TC_ushort  | 整数型  | tk_ushort  | なし  | 
TC_short  | tk_short  | ||
TC_ulong  | tk_ulong  | ||
TC_long  | tk_long  | ||
TC_longlong  | tk_longlong  | ||
TC_float  | 浮動小数点型  | tk_float  | なし  | 
TC_double  | tk_double  | ||
TC_longdouble  | tk_longdouble  | ||
TC_char  | 文字型  | tk_char  | なし  | 
TC_wchar  | ワイド文字型  | tk_wchar  | なし  | 
TC_octet  | オクテッド型  | tk_octet  | なし  | 
TC_boolean  | ブーリアン型  | tk_boolean  | なし  | 
TC_string  | 文字列型  | tk_string  | 最大長  | 
TC_wstring  | ワイド文字列型  | tk_wstring  | 最大長  | 
TC_enum (注)  | 列挙型  | tk_enum  | データ型のリポジトリID、名前、含まれるデータの名前、数、データの型  | 
TC_any  | any型  | tk_any  | なし  | 
TC_sequence (注)  | シーケンス型  | tk_sequence  | sequenceのメンバのデータ型、最大長  | 
TC_struct (注)  | 構造体  | tk_struct  | データ型のリポジトリID、名前、含まれるデータの名前、数、データの型  | 
TC_union (注)  | 共用体  | tk_union  | データ型のリポジトリID、名前、含まれるデータの名前、数、データの型、メンバのラベル番号、弁別情報のデータ型  | 
TC_fixed (注)  | 固定小数点型  | tk_fixed  | 桁数、小数点の位置  | 
TC_array (注)  | 配列  | tk_array  | arrayのメンバのデータ型、最大要素数  | 
TC_alias (注)  | typedefで定義されたデータ型  | tk_alias  | データ型のリポジトリID、名前  | 
TC_TypeCode  | TypeCode  | tk_TypeCode  | なし  | 
TC_Principal  | 認証用オブジェクト  | tk_Principal  | なし  | 
TC_objref  | オブジェクトリファレンス  | tk_objref  | データ型のリポジトリID、名前  | 
TC_except (注)  | 例外  | tk_except  | データ型のリポジトリID、名前、含まれるデータの名前、数、データの型  | 
注) TypeCodeオブジェクト名は、IDL定義に基づいて決められます。