Implementare l'interfaccia di gestione degli eventi

ALT consente a tutti e tre gli elementi necessari per gestire gli eventi: implementando l'interfaccia eventi, consigliando origine eventi e unadvising origine eventi.Le misure di express è necessario prendere dipendono dal tipo di interfaccia eventi e requisiti di prestazioni dell'applicazione.

Le tecniche più comuni di implementare un'interfaccia utilizzando ATL sono:

  • Derivazione da un'interfaccia direttamente.

  • Derivazione da IDispatchImpl per le interfacce duali descritte in una libreria dei tipi.

  • Derivazione da IDispEventImpl per le interfacce dispatch descritte in una libreria dei tipi.

  • Derivazione da IDispEventSimpleImpl per le interfacce dispatch non descritte in una libreria dei tipi o quando si desidera migliorare l'efficienza non caricando informazioni sul tipo in fase di esecuzione.

Se si sviluppa un oggetto personalizzato o un'interfaccia duale, è necessario ha origine evento chiamando AtlAdvise o CComPtrBase::Advise.È necessario tenere traccia dei cookie restituito dalla chiamata manualmente.Chiamata AtlUnadvise per interrompere la connessione.

Se si implementa un'interfaccia dispatch utilizzando IDispEventImpl o IDispEventSimpleImpl, è necessario ha origine evento chiamando IDispEventSimpleImpl::DispEventAdvise.Chiamata IDispEventSimpleImpl::DispEventUnadvise per interrompere la connessione.

Se si utilizza IDispEventImpl come classe base di controllo composito, le origini evento elencate nella mappa del sink saranno consigliate e imprudenti automaticamente utilizzando CComCompositeControl::AdviseSinkMap.

Le classi IDispEventSimpleImpl e IDispEventImpl gestiscono i cookie automaticamente.

Vedere anche

Concetti

Gestione degli eventi e ATL