FUNCDESC 结构 (oaidl.h)

描述函数。

语法

typedef struct tagFUNCDESC {
  MEMBERID   memid;
  SCODE      *lprgscode;
  ELEMDESC   *lprgelemdescParam;
  FUNCKIND   funckind;
  INVOKEKIND invkind;
  CALLCONV   callconv;
  SHORT      cParams;
  SHORT      cParamsOpt;
  SHORT      oVft;
  SHORT      cScodes;
  ELEMDESC   elemdescFunc;
  WORD       wFuncFlags;
} FUNCDESC, *LPFUNCDESC;

成员

memid

函数成员 ID。

lprgscode

状态代码。

lprgelemdescParam

元素的说明。

funckind

指示 (虚拟、静态或仅调度) 函数的类型。

invkind

调用类型。 指示这是否是属性函数,如果是,则指示类型。

callconv

调用约定。

cParams

参数总数。

cParamsOpt

可选参数的数目。

oVft

对于FUNC_VIRTUAL,指定 VTBL 中的偏移量。

cScodes

可能的返回值的数目。

elemdescFunc

函数返回类型。

wFuncFlags

函数标志。 请参阅 FUNCFLAGS

注解

cParams 字段指定必需参数和可选参数的总数。

cParamsOpt 字段指定函数接受的可选参数的形式,如下所示:

  • 值为 0 指定不支持可选参数。
  • 值 –1 指定方法的最后一个参数是指向安全变量数组的指针。 任何大于 cParams –1 的变体参数必须由调用方打包到安全数组中,并作为最终参数传递。 从调用返回控件后,调用方必须释放此可选参数数组。
  • 任何其他数字表示函数的最后 n 个参数是变体,不需要由调用方显式指定。 未指定的参数应由编译器或解释器填充为VT_ERROR类型的变体,值DISP_E_PARAMNOTFOUND。

要求

要求
Header oaidl.h