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.