Implementar la interfaz de control de eventos
ATL ayuda con los tres elementos necesarios para administrar eventos: implementar la interfaz de eventos, aconsejando el origen de eventos, y unadvising el origen de eventos.Los pasos exactos que necesitará realizar dependen del tipo de la interfaz de eventos y los requisitos de rendimiento de la aplicación.
Las maneras más comunes de implementar una interfaz mediante ATL son:
Derivar de una interfaz personalizada directamente.
Derivar de IDispatchImpl para las interfaces duales descritas en una biblioteca de tipos.
Derivar de IDispEventImpl para dispinterfaces descritos en una biblioteca de tipos.
Derivar de IDispEventSimpleImpl para dispinterfaces no descritos en una biblioteca de tipos o cuando se desea mejorar la eficacia no carga la información de tipo en tiempo de ejecución.
Si está implementando una interfaz personalizada o dual, debe advertir el origen de eventos llamando a AtlAdvise o CComPtrBase:: Advise.Necesitará hacer un seguimiento de la cookie devuelta por la llamada personalmente.llamada AtlUnadvise para interrumpir la conexión.
Si está implementando una dispinterface mediante IDispEventImpl o IDispEventSimpleImpl, debe advertir el origen de eventos llamando a IDispEventSimpleImpl:: DispEventAdvise.llamada IDispEventSimpleImpl:: DispEventUnadvise para interrumpir la conexión.
Si usa IDispEventImpl como clase base de un control compuesto, los orígenes de eventos enumerados en el mapa del receptor se aconsejable y sin haber recibido consejo algunos automáticamente mediante CComCompositeControl:: AdviseSinkMap.
las clases de IDispEventImpl y de IDispEventSimpleImpl administran la cookie para usted.