Implémentation de l’interface de gestion des événements

ATL vous aide à utiliser les trois éléments nécessaires à la gestion des événements : implémentation de l’interface d’événement, avis de la source d’événement et annulation de la consultation de la source d’événement. Les étapes précises que vous devez suivre dépendent du type de l’interface d’événement et des exigences de performances de votre application.

Les méthodes les plus courantes d’implémentation d’une interface à l’aide d’ATL sont les suivantes :

  • Dérivation directe d’une interface personnalisée.

  • Dérivation d’IDispatchImpl pour les interfaces doubles décrites dans une bibliothèque de types.

  • Dérivation d’IDispEventImpl pour les dispinterfaces décrites dans une bibliothèque de types.

  • Dérivation d’IDispEventSimpleImpl pour les dispinterfaces non décrites dans une bibliothèque de types ou lorsque vous souhaitez améliorer l’efficacité en ne chargeant pas les informations de type au moment de l’exécution.

Si vous implémentez une interface personnalisée ou double, vous devez conseiller la source d’événement en appelant AtlAdvise ou CComPtrBase ::Advise. Vous devrez suivre le cookie retourné par l’appel vous-même. Appelez AtlUnadvise pour rompre la connexion.

Si vous implémentez une dispinterface à l’aide IDispEventImpl ou IDispEventSimpleImpl, vous devez conseiller la source d’événement en appelant IDispEventSimpleImpl ::D ispEventAdvise. Appelez IDispEventSimpleImpl ::D ispEventUnadvise pour interrompre la connexion.

Si vous utilisez IDispEventImpl comme classe de base d’un contrôle composite, les sources d’événements répertoriées dans la carte récepteur sont conseillées et non supervisées automatiquement à l’aide de CComCompositeControl ::AdviseSinkMap.

Les IDispEventImpl classes et IDispEventSimpleImpl les classes gèrent le cookie pour vous.

Voir aussi

Gestion des événements