MAPI 窗体通知

适用于:Outlook 2013 | Outlook 2016

注册和处理来自表单对象的通知的过程与其他 MAPI 对象不同。 表单通知的建议接收器实现 IMAPIViewAdviseSinkIMAPIFormAdviseSink 接口,而不是 IMAPIAdviseSinkIMAPIViewAdviseSink:IUnknownIMAPIFormAdviseSink:IUnknown 各具有多个方法,每个方法对应相应的建议源能够生成的每个可能事件。 例如, IMAPIFormAdviseSink 有两种方法: IMAPIFormAdviseSink::OnChange 处理对表单查看器状态的更改 ;IMAPIFormAdviseSink::OnActivateNext 用于显示具有正确窗体的新消息。

表单的事件处理策略类似于 OLE 中实现的事件处理策略。 客户端不会像大多数 MAPI 对象那样注册特定事件类型。 假设通过注册通知,他们能够接收特定建议源可以生成的任何类型的事件。 由于 必须编写 IMAPIAdviseSink::OnNotify 以便处理所有已注册的事件,因此,对于注册许多不同的事件的客户端来说,实现它可能很复杂。 由于表单中的方法建议接收器对象面向单个事件,因此实现这些方法更简单。