紧密耦合的消息存储提供程序

适用于:Outlook 2013 | Outlook 2016

消息存储提供程序可以与传输提供程序紧密耦合。 紧密耦合 MAPI 服务提供商意味着实现这两个提供程序,以便存储提供程序和传输提供程序可以进行通信,使发送和接收消息的过程更加高效。 这样做的好处是,当两个服务提供商可以直接交互(而不是通过 MAPI 后台处理程序)交互时,性能会得到改进。 若要将消息存储提供程序紧密耦合到传输提供程序,传输提供程序必须将消息存储提供程序的条目标识符放在 MAPI 状态表中传输提供程序的行 (PidTagOwnStoreEntryId) 属性PR_OWN_STORE_ENTRYID中。 这使 MAPI 后台处理程序能够将存储提供程序连接到传输提供程序。

不要求消息存储提供程序与任何其他服务提供商紧密耦合。 与消息存储提供程序紧密耦合的最常见服务提供商是传输提供程序。 这样做通常是为了在不涉及 MAPI 后台处理程序的情况下完成发送和接收消息。 例如,当用户提交传出消息时,组合的消息存储提供程序和传输提供程序可以直接发送该消息。 合并的服务提供商不必先通知 MAPI 后台处理程序有新消息要处理,然后等待 MAPI 后台处理程序启动将消息从消息存储提供程序传输到传输提供程序的过程。 通过最大程度地减少用户计算机与服务器之间的网络流量,使用基于服务器的消息存储时,这具有特别的好处。

通常,对于紧密耦合服务提供商,没有明确指定的过程。 但是,应使用以下准则:

  • 如果紧密耦合服务提供商的原因是性能,请注意,耦合会将 MAPI 子系统的一部分从这些部分通常涉及的进程中取出。 这意味着合并的服务提供程序中的各个部分应以模拟它们通常与未使用的 MAPI 子系统部分的交互的方式相互交互。

  • 当紧密耦合的服务提供商与其他 MAPI 组件交互时,它们仍必须以与其交互的方式与它们完全不紧密耦合。 例如,如果用户使用组合的消息存储提供程序和传输提供程序作为其默认消息存储,但使用单独的传输提供程序来发送消息(当用户在路上使用计算机并切换到远程传输提供程序时),则紧密耦合服务提供商的消息存储部分仍必须与 MAPI 后台处理程序进行交互,就像它是独立的消息存储提供程序一样。

另请参阅

开发 MAPI 邮件存储提供程序