The IDispatch interface uses the following data types and structures. For more information on the implementation of the IDispatch interface, see Chapter 5, "Dispatch Interface and API Functions."
| Name | Purpose | 
|---|---|
| BSTR | A length-prefixed string. | 
| CALLCONV | Identifies the calling convention used by a member function. | 
| CURRENCY | Provides a precise data type of monetary data. | 
| DECIMAL | Provides a decimal data type. | 
| DISPID | Identifies a method, property, or argument to Invoke. | 
| DISPPARAMS | Contains arguments passed to a method or property. | 
| EXCEPINFO | Describes an error that occurred during Invoke. | 
| INTERFACEDATA | Describes the members of an interface. | 
| LCID | Provides locale information for international string comparisons and localized member names. | 
| METHODDATA | Describes a method or property. | 
| PARAMDATA | Describes a parameter to a method. | 
| VARIANT | Describes a VARIANTARG that cannot have the VT_BYREF bit set. Because VT_BYREF is not set, the data of type VARIANT cannot be passed within DISPPARAMS. | 
| VARIANTARG | Describes arguments that may be passed within DISPPARAMS. | 
| VARTYPE | Identifies the available variant types. | 
| VARENUM | Used in VARIANT, TYPEDESC, and OLE (ActiveX) property sets. |