过程原则的事件

有三个步骤共有的所有事件处理。您需要:

  • 实现对象的事件接口。

  • 建议事件源您的对象要接收事件。

  • Unadvise事件源,当对象不再需要接收事件。

您将实现接口的方法取决于其类型。事件接口可以是vtable,、或调度接口。将由定义的接口事件源的设计器;将由实现该接口的。

说明说明

虽然在技术上的原因事件接口不能是双的,有多种虚拟设计原因避免使用双绑定。但是,这种 事件源的设计器/实现所做的决策。因为您从活动 sink的角度工作,您需要允许这种可能性您可能没有任何选择,但实现一个双事件接口。有关双重接口的更多信息,请参见 双重接口和ATL

建议事件源可以分解为三个步骤:

一旦在接收事件上成功注册了感兴趣,在对象的事件接口的方法根据操作将调用激发的源对象。当不再需要接收事件时,可以通过cookie回通过 IConnectionPoint::Unadvise连接点。否则会中断连接在源和事件之间。

在处理事件时,请注意避免循环引用。

请参见

概念

事件处理和ATL