Поделиться через


CreateMAPIInitializationMonitor

Область применения: Outlook 2016 | Outlook 2019

Монитор инициализации MAPI

Бывают случаи, когда приложение, использующее MAPI, может захотеть узнать, когда инициализация завершена. Например, он имеет несколько потоков, которые могут инициализировать MAPI, или в ответ на инициализацию MAPI приложение хотело бы выполнить некоторую работу, но не хочет всегда создавать стек MAPI. Монитор инициализации предоставляет эту функцию с помощью функции (экспортируемой из OLMAPI32.DLL) и нескольких простых интерфейсов, описанных ниже.

HRESULT CreateMAPIInitializationMonitor(IMAPIInitMonitor** ppInitMonitor); 

HRESULT STDAPICALLTYPE CreateMapiInitializationMonitor(IMAPIInitMonitor ppInitMonitor)

Эта точка входа, экспортируемая из OLMAPI32.DLL, позволяет вызывающей программе получить интерфейс для запроса текущего состояния инициализации, настроить обратный вызов для завершения инициализации или заблокировать текущий поток до завершения. Объект, возвращенный из этого API, является повторно используемым и потокобезопасным и может вызываться из любого потока, а не только из потока, который его извлек. Кроме того, в отличие от других объектов, предоставляемых из MAPI, этот объект действителен при загрузке библиотеки DLL, его можно повторно использовать в сеансах инициализации и использовать до или после вызова MAPIInitialize. Возвращает успех или сбой через СТАНДАРТ COM HRESULT и назначает параметр out экземпляру IMAPIInitMonitOr.

Параметры

ppInitMonitor

[out] Указатель на получение только что созданного экземпляра монитора инициализации MAPI.

Возвращаемые значения

S_OK

Новый экземпляр монитора инициализации успешно создан.

E_OUTOFMEMORY

Недостаточно памяти для создания нового объекта.

См. также

IMAPIInitMonitOr

IMAPIWaitResult