Used to describe a method or property.
typedef struct FARSTRUCT tagMETHODDATA {
OLECHAR FAR* szName; // Member name.
PARAMDATA FAR* ppdata; // Pointer to array of PARAMDATAs.
DISPID dispid; // Member ID.
unsigned int iMeth; // Method index.
CALLCONV cc; // Calling convention.
unsigned int cArgs; // Count of arguments.
unsigned short wFlags; // Description of whether this is a
// method or a PROPERTYGET, PROPERTYPUT, or // or PROPERTYPUTREF.
VARTYPE vtReturn; // Return type.
} METHODDATA;
The following table describes the fields of the METHODDATA structure.
Name | Type | Description |
---|---|---|
szName | OLECHAR FAR* | The method name. |
Ppdata | PARAMDATA FAR* | The parameters for the method. The first parameter is ppdata[0], and so on. |
Dispid | DISPID | The ID of the method, as used in IDispatch. |
IMeth | unsigned int | The index of the method in the VTBL of the interface. The indexes start with 0. |
Cc | CALLCONV | The calling convention. The CDECL and Pascal calling conventions are supported by the dispatch interface creation functions, such as CreateStdDispatch. |
CArgs | unsigned int | The number of arguments for the method. |
WFlags | unsigned short | Flags that indicate whether the method is used for getting or setting a property. The flags are the same as in IDispatch::Invoke. DISPATCH_METHOD indicates that this is not used for a property. DISPATCH_PROPERTYGET indicates that the method is used to get a property value. DISPATCH_PROPERTYPUT indicates that the method is used to set the value of a property. DISPATCH_PROPERTYPUTREF indicates that the method is used to make the property refer to a passed-in object. |
VtReturn | VARTYPE | Return type for the method. |