Compartilhar via


source (C++)

Em uma classe, especifica as interfaces de origem do objeto COM para pontos de conexão. Em uma propriedade ou método, indica que o membro retorna um objeto ou VARIANT que é uma fonte de eventos.

Sintaxe

[ source(interfaces) ]

Parâmetros

interfaces
Uma ou mais interfaces especificadas quando você aplica o atributo de origem a uma classe. Esse parâmetro não é usado quando a origem é aplicada a uma propriedade ou um método.

Comentários

O atributo source C++ tem a mesma funcionalidade que o atributo source MIDL.

Você pode usar o atributo default para especificar a interface de origem padrão para um objeto.

Exemplo

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

[object, uuid(11111111-1111-1111-1111-111111111111)]
__interface b
{
   [id(0), propget, bindable, displaybind, defaultbind, requestedit]
   HRESULT get_I([out, retval]long *i);
};

[object, uuid(11111111-1111-1111-1111-111111111131)]
__interface c
{
   [id(0), propget, bindable, displaybind, defaultbind, requestedit]
   HRESULT et_I([out, retval]long *i);
};

[coclass, default(c), uuid(11111111-1111-1111-1111-111111111132)]
class N : public b
{
};

[coclass, source(c), default(b, c), uuid(11111111-1111-1111-1111-111111111133)]
class NN : public b
{
};

Requisitos

Contexto do atributo Valor
Aplicável ao class, struct, interface
Repetível Não
Atributos obrigatórios coclass (quando aplicado a classe ou struct)
Atributos inválidos Nenhum

Para obter mais informações sobre os contextos de atributo, confira Contextos de atributo.

Confira também

Atributos de IDL
Atributos de classe
Atributos de método
coclass