Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All

2.2.44 TYPEATTR

The TYPEATTR structure is used by an ITypeInfo server to describe a type, as specified in section 3.7.4.1.

 typedef struct tagTYPEATTR {
   GUID guid;
   LCID lcid;
   DWORD dwReserved1;
   DWORD dwReserved2;
   DWORD dwReserved3;
   LPOLESTR lpstrReserved4;
   ULONG cbSizeInstance;
   TYPEKIND typeKind;
   WORD cFuncs;
   WORD cVars;
   WORD cImplTypes;
   WORD cbSizeVft;
   WORD cbAlignment;
   WORD wTypeFlags;
   WORD wMajorVerNum;
   WORD wMinorVerNum;
   TYPEDESC tdescAlias;
   DWORD dwReserved5;
   WORD dwReserved6;
 } TYPEATTR,
  *LPTYPEATTR;

guid: MUST be set to the GUID that is associated with the type, or to IID_NULL, if the type was not declared with the [uuid] attribute (see section 2.2.49.2).

lcid: MUST be set to the locale ID of the type's member names and documentation strings (see section 2.2.49.2).

dwReserved1: MUST be set to 0, and MUST be ignored on receipt.

dwReserved2: MUST be set to -1, and MUST be ignored on receipt.

dwReserved3: MUST be set to -1, and MUST be ignored on receipt.

lpstrReserved4: MUST be set to NULL, and MUST be ignored on receipt.

cbSizeInstance: MUST be set to a value that is specified by the value of typekind.

Value of typekind

Value of cbSizeInstance

TKIND_COCLASS

MUST be set to the system pointer size (see section 3.7.1.2).

TKIND_DISPATCH

MUST be set to the system pointer size (see section 3.7.1.2).

TKIND_INTERFACE

MUST be set to the system pointer size (see section 3.7.1.2).

TKIND_MODULE

MUST be set to 2.

TKIND_ENUM

MUST be set to an implementation-specific value<23> that specifies the size of an integer.

TKIND_UNION

MUST be set to an implementation-specific value<24> that specifies the size of its largest element.

TKIND_RECORD

MUST be set to an implementation-specific value<25> that specifies the size in bytes, of the structure.

TKIND_ALIAS

MUST be set to an implementation-specific value<26> that specifies the size, in bytes, of the predefined type for which this type is an alias.

typeKind: MUST be set to a value of the TYPEKIND enumeration, as specified in section 2.2.17.

cFuncs: MUST be set to a value specified by the value of typekind.

Value of typekind

Value of cfuncs

TKIND_COCLASS

MUST be set to 0.

TKIND_DISPATCH

MUST be set to the number of elements in the dispatch method table, as specified in section 3.7.1.2.

TKIND_INTERFACE

MUST be set to the number of elements in the method table, as specified in section 3.7.1.2.

TKIND_MODULE

MUST be set to the number of elements in the method table, as specified in section 3.7.1.2.

TKIND_ENUM

MUST be set to 0.

TKIND_UNION

MUST be set to 0.

TKIND_RECORD

MUST be set to 0.

TKIND_ALIAS

MUST be set to 0.

cVars: MUST be set to the number of elements in the data member table, as specified in section 3.7.1.2.

cImplTypes: MUST be set to the number of elements in the interface table, as specified in section 3.7.1.2.

cbSizeVft: MUST be set to a value specified by the value of typekind.

Value of typekind

Value of cbSizeVft

TKIND_COCLASS

MUST be set to 0.

TKIND_DISPATCH

MUST be set to the system pointer size value (see section 2.2.45) multiplied by seven.

TKIND_INTERFACE

MUST be set to the system pointer size value multiplied by the number of methods that are defined by the interface and all its inherited interfaces.

TKIND_MODULE

MUST be set to 0.

TKIND_ENUM

MUST be set to 0.

TKIND_UNION

MUST be set to 0.

TKIND_RECORD

MUST be set to 0.

TKIND_ALIAS

MUST be set to 0.

cbAlignment: MUST be set to 0 or to an implementation-specific positive value.<27>

wTypeFlags: MUST be either a combination of the TYPEFLAGS bit flags that are specified in section 2.2.16, or 0.

wMajorVerNum: MUST be set to the major version number of the automation scope that is associated with the ITypeLib server, as specified in section 2.2.49.2.

wMinorVerNum: MUST be set to the minor version number of the automation scope that is associated with the ITypeLib server, as specified in section 2.2.49.2.

tdescAlias: MUST contain a TYPEDESC (section 2.2.37) that describes the predefined type for which this type is an alias, if typekind is set to TKIND_ALIAS. Otherwise, MUST contain a TYPEDESC with the vt field set to VT_EMPTY.

dwReserved5: MUST be set to 0, and MUST be ignored on receipt.

dwReserved6: MUST be set to 0, and MUST be ignored on receipt.

Show:
© 2015 Microsoft