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

指定零個或多個額外的參數,每個參數都必須有預設值。

備註

您為 參數指定的預設值可以是任何常數,或是解析為常數的運算式,可由 VARIANT表示。 具體而言,您無法將 [defaultvalue] 屬性套用至結構、陣列或 SAFEARRAY 類型的參數。

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 檔案語法

retval

TYPEFLAGS