FUNCDESC
[このドキュメントはプレビュー版であり、後のリリースで変更されることがあります。 空白のトピックは、プレースホルダーとして挿入されています。]
関数と定義は次のとおりです。
typedef struct tagFUNCDESC {
MEMBERID memid; // Function member ID.
SCODE FAR *lprgscode;
ELEMDESC FAR *lprgelemdescParam;
FUNCKIND funckind; // Specifies whether the
// function is virtual, static,
// or dispatch-only.
INVOKEKIND invkind; // Invocation kind. Indicates if this is a
// property function, and if so, what kind.
CALLCONV callconv; // Specifies the function's calling
// convention.
short cParams; // Count of total number of parameters.
short cParamsOpt; // Count of optional parameters (detailed
// description follows).
short oVft; // For FUNC_VIRTUAL, specifies the offset in the VTBL.
short cScodes; // Count of permitted return values.
ELEMDESC elemdescFunc; // Contains the return type of the function.
WORD wFuncFlags; // Definition of flags follows.
} FUNCDESC;
cParams フィールドは必須およびオプションのパラメーターの総数を示します。
cParamsOpt フィールドには次のように、関数によって受け入れられる省略可能なパラメーターの形式を指定します。
0 の値は省略可能な引数はサポートされていないことを示します。
メソッドの最後のパラメーターをバリアントのセーフ配列へのポインターに-1 の値を指定します。 バリアント型 (Variant) の引数を cParams-1 より大きい任意の数セーフ配列に、呼び出し元によってパッケージ化しての最終パラメーターとして渡さ。 コントロールは、呼び出しから返された後、呼び出し元によってこの省略可能なパラメーターの配列を解放する必要があります。
ほかの数字ことを示し、関数の最後の n パラメーターは、バリエーション、呼び出し元によって明示的に指定する必要はありません。 左指定されていないパラメーターが入力コンパイラまたはインタープリターによって DISP_E_PARAMNOTFOUND の値を持つ型 VT_ERROR のバリエーションとして。
16 ビット システム (Macintosh) をフィールド cScodes lprgscode 格納カウントと一連のエラーが関数を返すことができます。 場合 cScodes の =-1、エラーのセットが不明な。 場合 cScodes の =-1、または cScodes の <= 0 で lprgscode の は未定義です。