Partilhar via


Implementar o evento de manipulação de interface

ATL ajuda a todos os três elementos necessários para a manipulação de eventos: implementar a interface de evento, indicando que fonte do evento e unadvising fonte do evento.As etapas precisas que precisará levar dependem do tipo de interface de eventos e os requisitos de desempenho do seu aplicativo.

As formas mais comuns de implementação de uma interface usando ATL são:

  • Derivar diretamente de uma interface personalizada.

  • A derivação de IDispatchImpl para duas interfaces descrito em uma biblioteca de tipos.

  • A derivação de IDispEventImpl dispinterfaces descrito em uma biblioteca de tipos.

  • A derivação de IDispEventSimpleImpl dispinterfaces não descrito em uma biblioteca de tipos ou quando desejar melhorar a eficiência não carregando as informações do tipo em time de execução.

Se você estiver implementando uma interface personalizada ou dupla, deve informar fonte do evento chamando AtlAdvise or CComPtrBase::Advise.Você precisará manter o controle de cookie retornado pela telefonar. De telefonarAtlUnadvise para interromper a conexão.

Se você estiver implementando um dispinterface usando IDispEventImpl ou IDispEventSimpleImpl, você deve informar fonte do evento chamando IDispEventSimpleImpl::DispEventAdvise. De telefonarIDispEventSimpleImpl::DispEventUnadvise para interromper a conexão.

Se você estiver usando IDispEventImpl sistema autônomo uma classe base de um controle composto, sistema autônomo fontes de evento listadas no MAP coletor será aconselhável e unadvised automaticamente usando CComCompositeControl::AdviseSinkMap.

The IDispEventImpl e IDispEventSimpleImpl classes de gerenciar o cookie para você.

Consulte também

Conceitos

Manipulação de evento e ATL