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
-
매개 변수에 적용되는 하나 이상의 특성 목록을 쉼표로 구분하여 지정합니다.
-
param-type
-
선택적 매개 변수의 형식을 나타냅니다.
-
param-name
-
선택적 매개 변수의 이름을 지정합니다.
-
optional-param-list
-
0개 이상의 추가 매개 변수를 지정합니다. 각 매개 변수에는 기본값이 있어야 합니다.
매개 변수에 대해 지정하는 기본값은 모든 상수 또는 VARIANT로 나타낼 수 있는 상수로 확인되는 식일 수 있습니다. 특히 구조체, 배열 또는 SAFEARRAY 형식인 매개 변수에는 [defaultvalue] 특성을 적용할 수 없습니다.
MIDL 컴파일러는 왼쪽에서 오른쪽으로 다음과 같은 매개 변수 순서를 허용합니다.
- 필수 매개 변수( [defaultvalue] 또는 [선택 사항] 특성이 없는 매개 변수)
- [defaultvalue] 특성이 있거나 없는 선택적 매개 변수
- [optional] 특성이 있고 [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