Previous Table of Contents Next


20.7.10 DICORBATypeCode and ICORBATypeCode


   The value data for type code DCOM value objects can be represented by the following struct:

   struct CORBA_TYPECODE

   {

   FOREIGN_COMPLEX base;

   TCKind kind; // TypeCode kind

   union TypeSpecific switch(kind)

   {case tk_objref:

   LPSTR id;

   LPSTR name;

   case tk_struct:case tk_except:LPSTR id;

   LPSTR name;long member_count;[size_is(member_count,)] LPSTR *member_names;[size_is(member_count,)] IUnknown**member_types;

   case tk_union: LPSTR id;LPSTR name;long member_count;LPSTR member_names[];[size_is(member_count,)] IUnknown**member_types;[size_is(member_count)] VARIANT *member_labels;IUnknown *discriminator_type;long default_index;

   case tk_enum:long member_count;[size_is(member_count,)] LPSTR *member_names;[size_is(member_count,)] IUnknown**member_types;

   case tk_string:long length;

   case tk_array:

   case tk_sequence:long length;IUnknown *content_type;

   case tk_alias:

LPSTR id;
LPSTR name;
long length;
IUnknown *content_type;
}
};

   Note that members of type IUnknown will actually be ICORBATypeCode instances for COM and DICORBATypeCode instances for Automation.