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 個のパラメーターがバリアントであり、呼び出し元が明示的に指定する必要がないことを示します。 指定されていないパラメーターは、コンパイラまたはインタープリターによって、値がDISP_E_PARAMNOTFOUND VT_ERROR型のバリアントとして入力する必要があります。

要件

要件
Header oaidl.h