次の方法で共有


defaultvalue 属性

[defaultvalue] 属性を使用すると、型指定された省略可能なパラメーターの既定値を指定できます。

interface interface-name
{
  return-type function-name(
        mandatory-param-list, 
        [[attribute-list,] defaultvalue(value)] param-type param-name
        [ , optional-param-list]);
}

パラメーター

interface-name

インターフェイスの名前を指定します。

return-type

関数の戻り値の型を指定します。

function-name

[defaultvalue] 属性を適用する関数の名前を指定します。

mandatory-param-list

以上の必須パラメーターを指定します。

attribute-list

パラメーターに適用される 1 つ以上の属性の一覧をコンマで区切って指定します。

param-type

省略可能なパラメーターの型を示します。

param-name

省略可能なパラメーターの名前を指定します。

optional-param-list

0 個以上の追加パラメーターを指定します。各パラメーターには既定値が必要です。

注釈

パラメーターに指定する既定値には、任意の定数、または VARIANT で表すことができる定数に解決される式を指定できます。 具体的には、構造体、配列、または SAFEARRAY 型のパラメーターに [defaultvalue] 属性を適用することはできません。

MIDL コンパイラは、(左から右へ) 次のパラメーター順序を受け入れます。

  1. 必須パラメーター ( [defaultvalue] 属性または [省略可能] 属性を持たないパラメーター)
  2. 省略可能なパラメーターと [defaultvalue] 属性の有無に関係なく、
  3. パラメーターに [省略可能] 属性を指定し、[ defaultvalue] 属性を指定しない場合は、
  4. [lcid] パラメーター (存在する場合)
  5. [retval] パラメーター

interface IFace : IUnknown
{
    HRESULT Ex1([defaultvalue(44)] LONG i);
    HRESULT Ex2([defaultvalue(44)] SHORT i);
...
};

interface QueryDef : IUnknown
{
    HRESULT OpenRecordset( [in, defaultvalue(DBOPENTABLE)]
    LONG Type,
    [out,retval] Recordset **pprst);
}
//  Type is now known to be a LONG type (good for browser in VBA and
//  good for a C/C++ programmer) and has a default value of
//  DBOPENTABLE

関連項目

ディスパッチ

MIDL を使用したタイプ ライブラリの生成

インターフェイス

Lcid

オプション

ODL ファイルの例

ODL ファイルの構文

retval

TYPEFLAGS