office365 - MAPIInitialize() 在 2020 年 4 月 24 日更新 Office 365 后失败
问题描述
从 2020 年 4 月 22 日开始,此代码段开始失败:
HRESULT hRes;
MAPIINIT_0 MAPIINIT= { 0, MAPI_MULTITHREAD_NOTIFICATIONS};
hRes = MAPIInitialize(&MAPIINIT); <--- Program halts here.
至少自 2000 年(20 年)以来,此代码一直运行没有问题。
这在 Office 365 更新后至少在一台计算机上失败。但是,此问题与几个不同的 Outlook 版本相关:
Office 365 版本 2005 - 16.0.12823.20000 64 位 - Windows Insider。
Office 365 版本 2003 - 12624.20520(点击运行)- 当前版本。
到目前为止 - 仅在 Windows 10 上。
有没有人找到运行 MAPIInitialize() 的方法?
解决方案
是的,最新的 Insider Slow (Monthly) 更新打破了MAPIInitialize
。
微软已经意识到了这个问题,但还没有修复。唯一的解决方法是安装 Insider Fast build ( https://www.msoutlook.info/question/office-365-for-business-office-insider-fast-builds ) 或降级到以前的版本之一 https:/ /support.microsoft.com/en-us/help/2770432/how-to-revert-to-an-earlier-version-of-office-2013-or-office-2016-clic
也可以尝试修改系统PATH: https ://github.com/stephenegriffin/mfcmapi/issues/367
正在加载
%ProgramFiles%\Microsoft Office\root\vfs\ProgramFilesCommonX86\Microsoft Shared\OFFICE16\Mso20win32client.dll
和
%ProgramFiles%\Microsoft Office\root\Office16\OutlookServicing.dll
在调用 MAPIInitialize() 之前摆脱崩溃。
推荐阅读
- angular - 对于来自解析器的数组,无法读取未定义的属性长度
- empirical-lang - 为什么“asof”连接不能既是“最近的”又是“严格的”?
- quarkus - Quarkus Resteasy JSON-B 将列表反序列化为 HashMap 而不是 List
- c# - Task.Delay 或 Thread.Sleep 在同步方法中暂停执行
- ffmpeg - 如何使用 ExoPlayer 在多个客户端上同步 HLS 和/或 MPEG-DASH 视频?
- css - 使用另一个页面调用的 JSP 在 servlet 中引用 css 的正确方法
- unix - unix中的行到列转换
- xml - 如何在 Gradle Kotlin 中合并两个 .xml 文件?
- node.js - 上传的 AWS S3 图像已损坏
- ios - 在 Swift 中为 NSString 处理 nil 值