通知的工作方式

通知源自对象应用程序,并通过对象处理程序流向容器。 如果对象是链接对象,则链接对象会截获对象处理程序中的通知,并直接通知容器。

对象应用程序必须管理注册请求,跟踪发送通知的位置并适时发送通知。 OLE 提供两个组件对象来简化此任务:用于复合文档通知的 OleAdviseHolder 和用于数据通知的 DataAdviseHolder。

对象应用程序确定提示发送每个特定通知的条件,以及发送每个通知的频率。 如果适合发送多个通知,先发送哪个通知并不重要;可以按任意顺序发送通知。

通知计时会影响对象应用程序与其容器之间的性能和协调。 虽然通知发送太频繁会减慢处理速度,但是通知发送太少也会导致容器不同步。 通知频率可以与应用程序重绘速率进行比较。 因此,为通知计时使用类似逻辑(如同重绘)是明智之举。

CreateDataAdviseHolder

CreateOleAdviseHolder

通知