Partilhar via


atributo defaultvalue

O atributo [defaultvalue] permite especificar um valor padrão para um parâmetro opcional digitado.

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

Parâmetros

interface-nome

Especifica o nome da interface.

tipo de retorno

Especifica o tipo de retorno da função.

nome-função

Especifica o nome da função à qual o atributo [defaultvalue] será aplicado.

lista de parâmetros obrigatórios

Especifica um ou mais parâmetros necessários.

lista de atributos

Especifica uma lista de um ou mais atributos, separados por vírgulas, que se aplicam ao parâmetro.

param-tipo

Indica o tipo do parâmetro opcional.

param-nome

Especifica o nome do parâmetro opcional.

opcional-param-list

Especifica zero ou mais parâmetros adicionais, cada um dos quais deve ter um valor padrão.

Observações

O valor padrão especificado para o parâmetro pode ser qualquer constante ou uma expressão que resolve para uma constante, que pode ser representada por uma VARIANT. Especificamente, não é possível aplicar o atributo [defaultvalue] a um parâmetro que seja uma estrutura, uma matriz ou um tipo SAFEARRAY .

O compilador MIDL aceita a seguinte ordem de parâmetros (da esquerda para a direita):

  1. Parâmetros necessários (parâmetros que não têm os atributos [defaultvalue] ou [optional] ),
  2. parâmetros opcionais com ou sem o atributo [defaultvalue],
  3. parâmetros com o atributo [optional] e sem o atributo [defaultvalue],
  4. [LCID] parâmetro, se houver,
  5. [retval] parâmetro

Exemplos

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

Ver também

Dispinterface

Gerando uma biblioteca de tipos com MIDL

interface

LCID

opcional

Exemplo de arquivo ODL

de sintaxe do arquivo ODL

retval

TYPEFLAGS