适用于:Outlook 2013 | Outlook 2016
快速关闭是 MAPI 客户端启动客户端进程快速关闭的机制,通知客户端具有活动 MAPI 会话的所有提供程序,以便在客户端进程退出之前保存数据和设置。 本主题介绍快速关闭的基本机制。
从 Microsoft Outlook 2010 开始,现在包括Microsoft Outlook 2013,MAPI 子系统提供 IMAPIClientShutdown : IUnknown 接口。 Outlook 和其他 MAPI 客户端可以采用快速关闭作为退出客户端进程的默认机制。 客户端计算机的 Windows 注册表中的用户级设置控制该计算机上该用户的所有 MAPI 客户端采用快速关闭。 有关注册表设置的详细信息,请参阅 快速关闭用户选项。
如果 MAPI 客户端需要采用快速关闭,则必须使用 IMAPIClientShutdown : IUnknown 接口。 下面是客户端尝试关闭时的典型事件过程:
MAPI 客户端通过调用 IMAPIClientShutdown::QueryFastShutdown 方法启动关闭,以确定 MAPI 子系统是否支持快速关闭。
MAPI 子系统使用以下过程响应客户端的 IMAPIClientShutdown::QueryFastShutdown 调用的可用快速关闭支持:
如果提供程序已实现 IMAPIProviderShutdown: IUnknown 接口,则 MAPI 子系统为 MAPI 客户端进程具有活动 MAPI 会话的每个 MAPI 提供程序调用 IMAPIProviderShutdown::QueryFastShutdown 方法。
注意
MAPI 子系统始终通过 IMAPIProviderShutdown 查询 并通知 MAPI 提供程序:每个 MAPI 会话中的 IUnknown 接口,顺序如下:
- 传输提供程序
- 通讯簿提供程序
- 应用商店提供程序
根据客户端计算机上该用户的快速关闭注册表设置,MAPI 子系统指定 IMAPIClientShutdown::QueryFastShutdown 的相应返回代码。 返回代码为S_OK或MAPI_E_NO_SUPPORT。
MAPI 客户端调用 IMAPIClientShutdown::NotifyProcessShutdown 方法,向 MAPI 子系统指示要关闭的意图。
MAPI 子系统向每个加载的 MAPI 提供程序指示 MAPI 客户端将关闭。 对于已实现 IMAPIProviderShutdown : IUnknown 接口的提供程序,MAPI 子系统调用相应的 IMAPIProviderShutdown::NotifyProcessShutdown 方法。
MAPI 客户端调用 IMAPIClientShutdown::D oFastShutdown 方法,以向 MAPI 子系统指示客户端进程正在立即退出。
MAPI 子系统向每个加载的 MAPI 提供程序指示 MAPI 客户端进程正在退出。 对于已实现 IMAPIProviderShutdown : IUnknown 接口的提供程序,MAPI 子系统调用相应的 IMAPIProviderShutdown::D oFastShutdown 方法。 此时,这些 MAPI 提供程序应验证所有必要的操作(如保存数据和设置)是否已完成,以便 MAPI 客户端立即断开所有引用并退出。