Compartilhar via


atributo defaultvalue

O atributo [defaultvalue] permite que você especifique um valor padrão para um parâmetro opcional tipado.

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

Parâmetros

nome da interface

Especifica o nome da interface.

tipo de retorno

Especifica o tipo de retorno da função.

nome da função

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

mandatory-param-list

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.

tipo de param

Indica o tipo do parâmetro opcional.

nome do param

Especifica o nome do parâmetro opcional.

optional-param-list

Especifica zero ou mais parâmetros adicionais, cada um deles 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 seja resolvida 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 ordenação de parâmetro (da esquerda para a direita):

  1. Parâmetros necessários (parâmetros que não têm os atributos [defaultvalue] ou [opcional] ),
  2. parâmetros opcionais com ou sem o atributo [defaultvalue] ,
  3. parâmetros com o atributo [opcional] 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

Consulte também

de desafixação

gerando uma biblioteca de tipos com MIDL

interface

lcid

opcional

exemplo de arquivo ODL

de Sintaxe de Arquivo ODL

reavaliar

TYPEFLAGS