3.7.1.2 TYPEKIND Dependent Automation Type Description Elements

Every automation type description maintains the following data elements specified by its TYPEKIND value.

TYPEKIND value

Type description elements

TKIND_ENUM

A data member table that specifies the values defined by the enumeration.

TKIND_RECORD and TKIND_UNION

A data member table that specifies the fields of the structure or union.

TKIND_INTERFACE

A method table that specifies the method members of the interface.

An interface table that specifies the interfaces inherited by the described interface.

A reference to the partner dispinterface if the described type is a dual interface (see section 2.2.49.4.2).

TKIND_DISPATCH

A method table that specifies the method members defined by the dispinterface. If the type is an ODL dispinterface, the method table includes the elements defined with the "methods" keyword. If the type is a partner dispinterface, the method table includes the methods defined by the dual interface. If the type is a reference dispinterface, the method table is empty.

A "dispatch" method table that specifies the method members available through ITypeComp::Bind. If the type is an ODL dispinterface, the dispatch method table includes the elements defined with the "methods" keyword. If the type is a reference dispinterface, the dispatch method table includes all members defined by its referenced DCOM interface and its base interfaces (including IUnknown), and includes separate entries for property accessor methods with the same MEMBERID (see 2.2.35). If the type is a partner dispinterface, the dispatch method table includes all members defined by the dual interface or its base interfaces (including IUnknown), and includes separate entries for property accessor methods with the same MEMBERID (see section 2.2.35).

A data member table that specifies the data members defined by the dispinterface and available through IDispatch::Invoke. If the type is an ODL dispinterface, the data member table includes the elements defined with the properties keyword. Otherwise, it is empty.

An interface table that specifies a single interface. If the type is an ODL dispinterface or a partner dispinterface, the specified interface is IDispatch. If the type is a reference dispinterface, the specified interface is its referenced DCOM interface (see section 2.2.49.4.3.)

A reference to the partner interface if the described type is a dual interface (see section 2.2.49.4.2).

TKIND_COCLASS

An interface table that specifies the interfaces and dispinterfaces defined or referenced by the coclass.

TKIND_MODULE

A method table that specifies the local-only methods defined by the module.

A data member table that specifies the symbolic constants and static variables defined by the module (see section 2.2.49.9).

TKIND_ALIAS

A reference to the TYPEDESC that specifies the predefined type of the alias.