Рекомендации по быстрому завершению работы
Область применения: Outlook 2013 | Outlook 2016
В этом разделе для администраторов, клиентов MAPI и поставщиков MAPI рекомендуется использовать параметры реестра Windows и интерфейсы быстрого завершения работы, чтобы свести к минимуму потерю данных во время завершения работы клиента.
Чтобы клиент MAPI успешно выполнил быстрое завершение работы, чтобы процессы поставщика не понесли потери данных, клиент MAPI должен сначала вызвать метод IMAPIClientShutdown::QueryFastShutdown . Затем клиент должен продолжить работу с методами IMAPIClientShutdown::NotifyProcessShutdown и IMAPIClientShutdown::D oFastShutdown на основе поддержки быстрого завершения работы подсистемы MAPI, о чем свидетельствует возвращаемое значение IMAPIClientShutdown::QueryFastShutdown. Как клиент MAPI, Microsoft Outlook не вызывает IMAPIClientShutdown::NotifyProcessShutdown или IMAPIClientShutdown::D oFastShutdown , если IMAPIClientShutdown::QueryFastShutdown возвращает ошибку . Если администратор отключил быстрое завершение работы в реестре Windows, подсистема MAPI вернет MAPI_E_NO_SUPPORT в IMAPIClientShutdown::QueryFastShutdown. В этом случае подсистема MAPI не уведомляет поставщиков MAPI о немедленном завершении клиентского процесса. Таким образом, если клиент MAPI игнорирует этот код возврата ошибки, выполняет быстрое завершение работы и отключает все внешние ссылки, все загруженные поставщики MAPI будут иметь потерю данных.
Поставщики MAPI должны реализовать интерфейс IMAPIProviderShutdown: IUnknown , чтобы выполнить своевременные и необходимые действия, чтобы избежать потери данных из-за отключения клиентом внешних ссылок перед завершением работы клиента. Поставщику следует отложить все остальное, что является несуществующим, для сохранения данных в основном хранилище данных. Например, поставщик транспорта должен отложить ненужные фоновые операции, которые проверка для новой почты, поставщику адресной книги следует отложить скачивание последних изменений со своего сервера, а поставщику хранилища — отложить задачи обслуживания, такие как сжатие или индексирование.
Пользователи, которым требуется, чтобы клиенты MAPI завершали работу сразу после закрытия, должны использовать параметр реестра по умолчанию, который обеспечивает быстрое завершение работы, если поставщик не откажется.
Когда клиент MAPI вызывает IMAPIClientShutdown::D oFastShutdown, он не должен выполнять никаких дополнительных вызовов MAPI, включая функцию MAPIUninitialize . Клиент не должен использовать MAPI до конца времени существования клиентского процесса.
Клиент MAPI никогда не должен напрямую вызывать интерфейс IMAPIProviderShutdown поставщика. Клиенты MAPI всегда должны использовать интерфейс IMAPIClientShutdown : IUnknown .
Если поставщик MAPI должен убедиться, что быстрое завершение работы не используется при загрузке, он должен реализовать интерфейс IMAPIProviderShutdown и вернуть MAPI_E_NO_SUPPORT для метода IMAPIProviderShutdown::QueryFastShutdown . Однако для клиентов MAPI, таких как Outlook, это приведет к тому, что клиент откажется от быстрого завершения работы и займет больше времени.
См. также
Завершение работы клиента в MAPI