Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Indica que a face personalizada ou dispinterface definida em uma coclasse representa a interface de programação padrão.
Sintaxe
[ default(interface1, interface2) ]
Parâmetros
interface1
A interface padrão que será disponibilizada para ambientes de script que criam um objeto com base na classe definida com o atributo default.
Se nenhuma interface padrão for especificada, a primeira ocorrência de uma interface não-fonte será usada como padrão.
interface2
(Opcional) A interface de origem padrão. Você também deve especificar essa interface com o atributo de origem.
Se nenhuma interface de origem padrão for especificada, a primeira interface de origem será usada como padrão.
Comentários
O atributo default C++ tem a mesma funcionalidade que o atributo default MIDL. O atributo default também é usado com o atributo case.
Exemplo
O código a seguir mostra como default é usado na definição de uma 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 atributo de origem também tem um exemplo de como usar default.
Requisitos
| Contexto do atributo | Valor |
|---|---|
| Aplicável ao | class, struct, membros de dados |
| Repetível | Não |
| Atributos obrigatórios | coclass (quando aplicada a class ou struct) |
| Atributos inválidos | Nenhum |
Para obter mais informações, confira Contextos de Atributo.