次の方法で共有


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

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

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

こちらも参照ください

dispinterfaceする

MIDL を使用してタイプ ライブラリを生成する

インターフェイス

lcidする

省略可能な

ODL ファイルの例

ODL ファイル構文

リトバル

TYPEFLAGS