Freigeben über


defaultvalue-Attribut

Mit dem [defaultvalue] -Attribut können Sie einen Standardwert für einen typisierten optionalen Parameter angeben.

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

Parameter

Schnittstellenname

Gibt den Namen der Schnittstelle an.

Rückgabetyp

Gibt den Rückgabetyp der Funktion an.

Funktionsname

Gibt den Namen der Funktion an, auf die das Attribut [defaultvalue] angewendet wird.

mandatory-param-list

Gibt für oder mehr erforderliche Parameter an.

attribut-list

Gibt eine Liste mit mindestens einem Attribut an, getrennt durch Kommas, die für den Parameter gelten.

param-type

Gibt den Typ des optionalen Parameters an.

param-name

Gibt den Namen des optionalen Parameters an.

optional-param-list

Gibt null oder mehr zusätzliche Parameter an, von denen jeder einen Standardwert aufweisen muss.

Bemerkungen

Der Standardwert, den Sie für den Parameter angeben, kann eine beliebige Konstante oder ein Ausdruck sein, der in eine Konstante aufgelöst wird und durch einen VARIANT-Wert dargestellt werden kann. Insbesondere können Sie das Attribut [defaultvalue] nicht auf einen Parameter anwenden, der eine Struktur, ein Array oder ein SAFEARRAY-Typ ist.

Der MIDL-Compiler akzeptiert die folgende Parameterreihenfolge (von links nach rechts):

  1. Erforderliche Parameter (Parameter, die nicht über die Attribute [defaultvalue] oder [optional] verfügen ),
  2. optionale Parameter mit oder ohne das [defaultvalue]- Attribut,
  3. Parameter mit dem Attribut [optional] und ohne das Attribut [defaultvalue]
  4. [lcid] -Parameter, falls vorhanden,
  5. [retval] -Parameter

Beispiele

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

Weitere Informationen

Dispatchschnittstelle

Generieren einer Typbibliothek mit MIDL

Schnittstelle

Lcid

Optional

ODL-Dateibeispiel

ODL-Dateisyntax

Retval

TYPEFLAGS