次の方法で共有


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 の は未定義です。