Compartilhar via


Atributo event_source

Cria uma origem de evento.

Observação

Os atributos de evento em C++ nativo são incompatíveis com o C++ Standard. Eles não são compilados quando você especifica o modo de conformidade /permissive-.

Sintaxe

[ event_source(type, optimize=[speed | size], decorate=[true | false]) ]

Parâmetros

type
Uma enumeração de um dos valores a seguir:

  • native para código C/C++ não gerenciado (padrão para classes não gerenciadas).

  • com para código COM. Use coclass quando type=com. Esse valor requer que você inclua os seguintes arquivos de cabeçalho:

    #define _ATL_ATTRIBUTES
    #include <atlbase.h>
    #include <atlcom.h>
    

optimize
Quando o tipo for native, você pode especificar optimize=size, para indicar que há 4 bytes de armazenamento (mínimo) para todos os eventos em uma classe ou optimize=speed (o padrão) para indicar que há 4 * (nº de eventos) em bytes de armazenamento.

decorate
Quando o tipo for native, você pode especificar decorate=false, para indicar que o nome expandido no arquivo mesclado (.mrg) não deve incluir o nome da classe delimitadora. /Fx permite que você gere .mrg arquivos. decorate=false, que é o padrão, resulta em nomes de tipo totalmente qualificados no arquivo mesclado.

Comentários

O atributo C++ event_source especifica que a classe ou a estrutura à qual ela é aplicada será uma fonte de evento.

event_source é usada em conjunto com o atributo event_receiver e a palavra-chave __event. Use event_receiver para criar receptores de eventos. Use __event em métodos na origem do evento para especificar esses métodos como eventos.

Observação

Uma classe ou um struct modelo não podem conter eventos.

Requisitos

Contexto do atributo Valor
Aplicável ao class, struct
Repetível Não
Atributos necessários coclass quando type=com
Atributos inválidos Nenhum

Para obter mais informações, confira Contextos de Atributo.

Confira também

Atributos do compilador
event_receiver
__event
__hook
__unhook
Atributos de classe