Partager via


Principes de gestion des événements

Il existe trois étapes communes à la gestion des événements. Vous devez :

  • Implémentez l’interface d’événement sur votre objet.

  • Indiquez à la source d’événement que votre objet souhaite recevoir des événements.

  • Annulez la notification de la source d’événement lorsque votre objet n’a plus besoin de recevoir des événements.

La façon dont vous allez implémenter l’interface d’événement dépend de son type. Une interface d’événement peut être vtable, double ou dispinterface. Il appartient au concepteur de la source d’événement de définir l’interface ; il vous appartient d’implémenter cette interface.

Remarque

Bien qu’il n’existe aucune raison technique qu’une interface d’événement ne peut pas être double, il existe un certain nombre de bonnes raisons de conception pour éviter l’utilisation de doubles. Toutefois, il s’agit d’une décision prise par le concepteur/implémenteur de la source d’événement. Étant donné que vous travaillez du point de vue de l’événement sink, vous devez autoriser la possibilité que vous n’ayez peut-être pas le choix, mais d’implémenter une interface d’événement double. Pour plus d’informations sur les interfaces doubles, consultez Dual Interfaces et ATL.

Vous pouvez décomposer la source d’événement en trois étapes :

Une fois que vous avez correctement inscrit votre intérêt pour recevoir des événements, les méthodes de l’interface d’événement de votre objet sont appelées en fonction des événements déclenchés par l’objet source. Lorsque vous n’avez plus besoin de recevoir d’événements, vous pouvez renvoyer le cookie au point de connexion via I Connecter ionPoint ::Unadvise. Cela interrompt la connexion entre la source et le récepteur.

Veillez à éviter les cycles de référence lors de la gestion des événements.

Voir aussi

Gestion des événements