登录到MAPI配置文件时的AccessViolationException



我们的应用程序的一部分是一个windows进程,它登录到MAPI并在后台索引电子邮件。它可以很好地与许多不同版本的Outlook兼容,就在几天前,它还可以与Outlook 2016兼容。现在,当登录到MAPI配置文件时,它给出了一个AccessViolationException。

这是异常消息:

Exception thrown at 0x00007FFDA7716BB9 (Mso20win32client.dll) in Tray.exe: 0xC0000005: Access violation writing location 0x0000000000000000.

我们还不能弄清楚为什么它试图访问那个位置。就我们所知,所有的论证都是有效的。

调用堆栈看起来像这样(我们没有Outlook dll的符号):

 Mso20win32client.dll!00007ffda7716bb9()    Unknown
 OLMAPI32.DLL!00007ffda48e325e()    Unknown
 OLMAPI32.DLL!00007ffda48274e1()    Unknown
 OLMAPI32.DLL!00007ffda4827466()    Unknown
 OLMAPI32.DLL!00007ffda4827408()    Unknown
 OLMAPI32.DLL!00007ffda4827317()    Unknown
 CONTAB32.DLL!00007ffdee6a14f6()    Unknown
 OLMAPI32.DLL!00007ffda482670c()    Unknown
 OLMAPI32.DLL!00007ffda48261cd()    Unknown
 OLMAPI32.DLL!00007ffda48253c6()    Unknown
 OLMAPI32.DLL!00007ffda481653c()    Unknown
 OLMAPI32.DLL!00007ffda4815dc8()    Unknown
 MSMAPI32.DLL!00007ffdef225ee6()    Unknown
 [External Code] 

有一些帖子讨论类似的问题,其中一个似乎特别相关的是专家交流,但我们仍然无法确定根本原因或修复。

有趣的是,为缩小问题而创建的峰值(测试程序)并没有显示出问题。此外,MFCMAPI是一个可视化MAPI信息的工具,它工作得很好,也就是说,我们可以使用它登录到相同的配置文件。

还有其他人看到过类似的问题吗?对如何进一步调试有什么想法吗?

您正在加载olmapi32.dll。不要这样做-加载msmapi32.dll。

相关内容

  • 没有找到相关文章

最新更新