2.2.17 TYPEKIND Type Kind Constants

The TYPEKIND enumeration values are used in the typekind field of a TYPEATTR to specify the features of a type, as specified in section 2.2.44. They are also used in the pTypeKind parameter of the ITypeInfo2::GetTypeKind method, as specified in section 3.9.4.1.

The type kind constants are defined in the TYPEKIND enumeration.

 typedef [v1_enum] enum tagTYPEKIND
 {
   TKIND_ENUM = 0x0,
   TKIND_RECORD = 0x1,
   TKIND_MODULE = 0x2,
   TKIND_INTERFACE = 0x3,
   TKIND_DISPATCH = 0x4,
   TKIND_COCLASS = 0x5,
   TKIND_ALIAS = 0x6,
   TKIND_UNION = 0x7
 } TYPEKIND;

TKIND_ENUM:  MUST be used if the type is an enumeration that was defined with the typedef and enum keywords.

TKIND_RECORD:  MUST be used if the type is a structure that was defined with the typedef and struct keywords.

TKIND_MODULE:  MUST be used if the type is a module that was defined with the module keyword.

TKIND_INTERFACE:  MUST be used if the type is a DCOM interface that was defined with the interface keyword.

TKIND_DISPATCH:  MUST be used if the type is a dispinterface that was defined with either the dispinterface keyword or the interface keyword with the [dual] attribute.

TKIND_COCLASS:  MUST be used if the type is a COM server that was defined with the coclass keyword.

TKIND_ALIAS:  MUST be used if the type is an alias for a predefined type that was defined with the typedef keyword and added to the automation scope by using the [public] attribute as specified in section 2.2.49.3.

TKIND_UNION:  MUST be used if the type is a union that was defined with the typedef and union keywords.