padrão (C++)

Indica que o personalizado ou um dispinterface definido dentro de um coclass representa a interface de programação padrão.

[ default(
   interface1,
   interface2
) ]

Parâmetros

  • Visual e intuitiva
    A interface padrão que será disponibilizada para os ambientes de script que cria um objeto baseado na classe definida com o padrão atributo.

    Não se for especificada nenhuma interface padrão, a primeira ocorrência de uma interface de nonsource é usada como padrão.

  • usar2(opcional)
    A interface de origem do padrão.Você também deve especificar essa interface com o origem atributo.

    Se nenhuma interface de origem padrão for especificado, a primeira interface de origem é usada como padrão.

Comentários

O padrão o atributo do C++ tem a mesma funcionalidade que o padrão atributo MIDL.O padrão atributo também é usado com o case atributo.

Exemplo

O seguinte código mostra como padrão é usado na definição de um coclass para especificar ICustomDispatch como a interface de programação padrão:

// cpp_attr_ref_default.cpp
// compile with: /LD
#include "windows.h"
[module(name="MyLibrary")];

[object, uuid("9E66A290-4365-11D2-A997-00C04FA37DDB")]
__interface ICustom {
   HRESULT Custom([in] long l, [out, retval] long *pLong);
};

[dual, uuid("9E66A291-4365-11D2-A997-00C04FA37DDB")] 
__interface IDual {
   HRESULT Dual([in] long l, [out, retval] long *pLong);
};

[object, uuid("9E66A293-4365-11D2-A997-00C04FA37DDB")]
__interface ICustomDispatch : public IDispatch {
   HRESULT Dispatch([in] long l, [out, retval] long *pLong);
};

[   coclass,
   default(ICustomDispatch), 
   source(IDual),
   uuid("9E66A294-4365-11D2-A997-00C04FA37DDB")
]
class CClass : public ICustom, public IDual, public ICustomDispatch {
   HRESULT Custom(long l, long *pLong) { return(S_OK); }
   HRESULT Dual(long l, long *pLong) { return(S_OK); }
   HRESULT Dispatch(long l, long *pLong) { return(S_OK); }
};

int main() {
#if 0 // Can't instantiate without implementations of IUnknown/IDispatch
   CClass *pClass = new CClass;

   long llong;

   pClass->custom(1, &llong);
   pClass->dual(1, &llong);
   pClass->dispinterface(1, &llong);
   pClass->dispatch(1, &llong);

   delete pClass;
#endif
   return(0);
}

O origem atributo também tem um exemplo de como usar o padrão.

Requisitos

Contexto de atributo

Se aplica a

classe, struct, membro de dados

Reproduzíveis

Não

Atributos obrigatórios

coclass (quando aplicada a classe ou struct)

Atributos inválidos

Nenhum

Para obter mais informações, consulte Atributo contextos.

Consulte também

Referência

coclass

Outros recursos

Atributos IDL

Atributos de classe

Attributes Samples