Compartilhar via


Atributo event_receiver

Cria um receptor de eventos (coletor).

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_receiver(type
   [, layout_dependent=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 nativas).

  • com para código COM. Esse valor requer que você inclua estes arquivos de cabeçalho:

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

layout_dependent
Especifique layout_dependent somente se type=com. layout_dependent é um booliano:

  • true significa que a assinatura dos delegados no receptor de eventos deve corresponder exatamente àqueles a eles estão conectados na origem do evento. Os nomes do manipulador do receptor de eventos devem corresponder aos nomes especificados na interface de origem do evento relevante. Use coclass quando layout_dependent for true. É um pouco mais eficiente especificar true.

  • false (padrão) significa que a convenção de chamada e a classe de armazenamento (virtual, static etc.) não precisam corresponder ao método de evento e aos manipuladores. Os nomes do manipulador também não precisam corresponder aos nomes do método de interface de origem do evento.

Comentários

O atributo C++ event_receiver especifica que a classe ou estrutura à qual ela é aplicada será um receptor de evento, usando o modelo de evento unificado do Microsoft C++.

event_receiver é usado com o atributo event_source e as palavras-chave __hook e __unhook. Use event_source para criar fontes de evento. Use __hook nos métodos de um receptor de evento para associar métodos de receptor de evento ("gancho") aos eventos de uma fonte de evento. Use __unhook para desassociá-los.

layout_dependent é especificado apenas para receptores de eventos COM (type=com). O padrão para layout_dependent é false.

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 obrigatórios coclass quando layout_dependent=true
Atributos inválidos Nenhum

Para mais informações, confira Contextos de atributo.

Confira também

Atributos do compilador
event_source
__event
__hook
__unhook
Atributos de classe