TYPEATTR Structure

Contains attributes of an ITypeInfo, and is defined as follows:

typedef struct FARSTRUCT tagTYPEATTR {
   GUID guid;               // The GUID of the type information. 
   LCID lcid;               // Locale of member names and doc 
                        // strings.
   unsigned long dwReserved;
   MEMBERID memidConstructor;   // ID of constructor, or MEMBERID_NIL if 
                        // none.
   MEMBERID memidDestructor;   // ID of destructor, or MEMBERID_NIL if 
                        // none. 
   OLECHAR FAR* lpstrSchema;   // Reserved for future use.
   unsigned long cbSizeInstance;// The size of an instance of 
                        // this type.
   TYPEKIND typekind;         // The kind of type this information
                        // describes.
   unsigned short cFuncs;      // Number of functions.
   unsigned short cVars;      // Number of variables/data members.
   unsigned short cImplTypes;   // Number of implemented interfaces.
   unsigned short cbSizeVft;   // The size of this type's VTBL.
   unsigned short cbAlignment;   // Byte alignment for an instance 
                        // of this type.
   unsigned short wTypeFlags;
   unsigned short wMajorVerNum;   // Major version number.
   unsigned short wMinorVerNum;   // Minor version number.
   TYPEDESC tdescAlias;         // If TypeKind == TKIND_ALIAS, 
                        // specifies the type for which 
                        // this type is an alias.
   IDLDESC idldescType;      // IDL attributes of the 
                        // described type.

The cbAlignment field indicates how addresses are aligned. A value of 0 indicates alignment on the 64K boundary; 1 indicates no special alignment. For other values, n indicates aligned on byte n.