3.7.1.1 Common Automation Type Description Elements

Every automation type description server maintains the following data elements:

  • The name of the type.

  • A TYPEKIND value that specifies the type that the automation type description describes, as specified in section 2.2.17.

  • A value or structure that specifies the attributes declared with the type in the IDL, as specified in section 2.2.49.

  • A value that specifies the size, in bytes, of an instance of the type.

  • A reference to the automation type library that contains the automation type description in its type information table.

  • A reference to an ITypeComp server whose binding context (see section 3.5.4.1.1) is specified by the members of the automation type description.

  • A set of implementation-specific documentation values.<58>

An automation type description can include the following tables of member elements, as specified in the remainder of this topic.

A method table specifies the methods that are defined by an interface. Each element of a method table includes the following:

  • The name of the method.

  • The MEMBERID of the method.

  • A value or structure that specifies the attributes declared with the method in the IDL (as specified in section 2.2.49) and other method information, as specified in section 2.2.42.

  • An ELEMDESC that specifies the return type of the method.

  • A parameter table (see below) that specifies the parameters declared with the method in the IDL, as specified in section 2.2.49.5.

A data member table describes data-only members of the type. Each element of a data member table includes the following:

  • The name of the data member.

  • The MEMBERID of the data member.

  • A value or structure that specifies the attributes declared with the data member in the IDL (as specified in section 2.2.49.5) and other data member information, as specified in section 2.2.43.

  • An ELEMDESC that specifies the type of the data member.

An interface table contains references to interfaces and dispinterfaces. Each element of an interface table includes the following:

  • The HREFTYPE of the referenced interface or dispinterface.

  • A reference to the automation type description of the interface or dispinterface.

  • A value or structure that specifies the attributes declared with the interface reference in the IDL (as specified in section 2.2.49.8) and other information, as specified in section 2.2.13.

A parameter table contains references to method parameters. The order of the elements in the parameter table follows the parameter ordering criteria specified in section 2.2.49.6. Each element of a parameter table includes the following:

  • The name of the parameter.

  • An ELEMDESC that specifies the type of the parameter.

  • A value or structure that specifies the attributes declared with the parameter in the IDL (as specified in section 2.2.49.6) and other data member information, as specified in section 2.2.40.