METHODDATA

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.