defaultvalue (atributo)

El atributo [defaultvalue] permite especificar un valor predeterminado para un parámetro opcional con tipo.

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

Parámetros

interface-name

Especifica el nombre de la interfaz.

return-type

Especifica el tipo de valor devuelto de la función.

function-name

Especifica el nombre de la función a la que se aplicará el atributo [defaultvalue].

mandatory-param-list

Especifica en o más parámetros necesarios.

attribute-list

Especifica una lista de uno o varios atributos, separados por comas, que se aplican al parámetro .

param-type

Indica el tipo del parámetro opcional.

param-name

Especifica el nombre del parámetro opcional.

optional-param-list

Especifica cero o más parámetros adicionales, cada uno de los cuales debe tener un valor predeterminado.

Comentarios

El valor predeterminado que especifique para el parámetro puede ser cualquier constante, o bien una expresión que se resuelva en una constante, que se puede representar mediante un variant. En concreto, no se puede aplicar el atributo [defaultvalue] a un parámetro que sea una estructura, una matriz o un tipo SAFEARRAY .

El compilador MIDL acepta el siguiente orden de parámetros (de izquierda a derecha):

  1. Parámetros obligatorios (parámetros que no tienen los atributos [defaultvalue] o [opcional] ),
  2. parámetros opcionales con o sin el atributo [defaultvalue],
  3. parámetros con el atributo [opcional] y sin el atributo [defaultvalue],
  4. [lcid] parámetro, si existe,
  5. [retval] parámetro

Ejemplos

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

Vea también

dispinterface

Generación de una biblioteca de tipos con MIDL

Interfaz

Lcid

Opcional

Ejemplo de archivo ODL

Sintaxis de archivo ODL

retval

TYPEFLAGS