[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 コンパイラは、次のパラメーターの順序を受け入れます (左から右へ)。
- 必須パラメーター ( [defaultvalue] 属性または [省略可能] 属性を持たないパラメーター)
- 省略可能なパラメーターと [defaultvalue] 属性の有無に関係なく、
- パラメーターが [省略可能] 属性を持ち、[ defaultvalue] 属性を持たない場合、
- [lcid] パラメーター (ある場合)
- [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 ファイル構文 の