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
Недостаточно памяти для создания нового объекта.