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.
} TYPEATTR, FAR* LPTYPEATTR;
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.