Condividi tramite


defaultvalue (attributo)

L'attributo [defaultvalue] consente di specificare un valore predefinito per un parametro facoltativo tipizzato.

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

Parametri

nome dell'interfaccia

Specifica il nome dell'interfaccia.

tipo restituito

Specifica il tipo restituito della funzione.

nome funzione

Specifica il nome della funzione a cui verrà applicato l'attributo [defaultvalue].

obbligatorio-param-list

Specifica in o più parametri obbligatori.

attribute-list

Specifica un elenco di uno o più attributi, separati da virgole, che si applicano al parametro.

param-type

Indica il tipo del parametro facoltativo.

param-name

Specifica il nome del parametro facoltativo.

facoltativo-param-list

Specifica zero o più parametri aggiuntivi, ognuno dei quali deve avere un valore predefinito.

Commenti

Il valore predefinito specificato per il parametro può essere una costante o un'espressione che si risolve in una costante, che può essere rappresentata da un valore VARIANT. In particolare, non è possibile applicare l'attributo [defaultvalue] a un parametro che è una struttura, una matrice o un tipo SAFEARRAY .

Il compilatore MIDL accetta l'ordinamento dei parametri seguente (da sinistra a destra):

  1. Parametri obbligatori (parametri che non hanno gli attributi [defaultvalue] o [facoltativo]),
  2. parametri facoltativi con o senza l'attributo [defaultvalue]
  3. parametri con l'attributo [facoltativo] e senza l'attributo [defaultvalue] ,
  4. [lcid] parametro, se disponibile,
  5. [retval] parametro

Esempi

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

Vedere anche

dispinterface

Generazione di una libreria di tipi con MIDL

Interfaccia

Lcid

Opzionale

Esempio di file ODL

Sintassi del file ODL

retval

TYPEFLAGS