适用范围: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
内存不足,无法对新对象进行箱。