DISP_FUNCTION
DISP_FUNCTION( theClass, pszName, pfnMember, vtRetVal, vtsParams )
#include <afxdisp.h>
参数:
theClass | 类的名字。 |
pszName | 函数的外部名字。 |
pfnMember | 成员函数的名字。 |
vtRetVal | 指定了函数返回类型的值。 |
vtsParams | 指定了函数参数表的一个或多个常量的用空格分隔的列表。 |
说明:
DISP_FUNCTION宏被在调度映射中使用,用来定义一个OLE自动化函数。
vtRetVal参数属于VARTYPE类型。这个参数的可能取值来自VARENUM枚举,如下:
符号 | 返回类型 |
VT_EMPTY | void |
VT_I2 | short |
VT_I4 | long |
VT_R4 | float |
VT_R8 | double |
VT_CY | CY |
VT_DATE | DATE |
VT_BSTR | BSTR |
VT_DISPATCH | LPDISPATCH |
VT_ERROR | SCODE |
VT_BOOL | BOOL |
VT_VARIANT | VARIANT |
VT_UNKNOWN | LPUNKNOWN |
vtsParams参数是VTS_ 常量中取值的用空格分隔的列表。有空格分隔的一个或多个取值的列表指定了函数的参数列表。例如:
VTS_I2 VTS_PI2
指定了包含一个短整数以及后面的短整数指针的列表。
VTS_ 常量及其含义如下:
符号 | 参数类型 |
VTS_I2 | short |
VTS_I4 | long |
VTS_R4 | float |
VTS_R8 | double |
VTS_CY | Const CY or CY* |
VTS_DATE | DATE |
VTS_BSTR | LPCSTR |
VTS_DISPATCH | LPDISPATCH |
VTS_SCODE | SCODE |
VTS_BOOL | BOOL |
VTS_VARIANT | Const VARIANT* or VARIANT& |
VTS_UNKNOWN | LPUNKNOWN |
VTS_PI2 | short* |
VTS_PI4 | long* |
VTS_PR4 | float* |
VTS_PR8 | double* |
VTS_PCY | CY* |
VTS_PDATE | DATE* |
VTS_PBSTR | BSTR* |
VTS_PDISPATCH | LPDISPATCH* |
VTS_PSCODE | SCODE* |
VTS_PBOOL | BOOL* |
VTS_PVARIANT | VARIANT* |
VTS_PUNKNOWN | LPUNKNOWN* |
请参阅:
调度映射, DECLARE_DISPATCH_MAP, DISP_PROPERTY, DISP_PROPERTY_EX, BEGIN_DISPATCH_MAP, END_DISPATCH_MAP
转帖:http://www.kaifa6.com/v/MFCShouce/Macro/DISP_FUNCTION.htm