【问题标题】:Problem When Accessing MAPI properties from C#从 C# 访问 MAPI 属性时出现问题
【发布时间】:2011-06-08 22:45:11
【问题描述】:

在访问 MAPI 属性时,我们的错误日志中反复出现异常。

我们的 VST0 2005 Outlook 插件在特定站点遇到问题。该插件在 Outlook 2003 中的 64 位交换终端服务环境中运行。

我收到以下错误:“尝试读取或写入受保护的内存。这通常表明其他内存已损坏。在 Microsoft.Office.Interop.Outlook.AddressEntry.get_MAPIOBJECT()...”

我们反复看到此错误。有趣的是插件在这个盒子上运行良好,直到几个月前。

我们用来访问 MAPI 的底层类是由 Helmut Obertanner 提供的:http://www.outlookcode.com/codedetail.aspx?id=1112。到目前为止,它运行良好。

那里有任何明亮的火花可以帮助我解决这个问题吗?谢谢

【问题讨论】:

    标签: c# com vsto mapi


    【解决方案1】:

    Outlook API 不允许您更改很多内容(将其设为只读)

    有时候真的很沮丧。

    为此,很多人使用名为 Redemption 的库: http://www.dimastr.com/redemption/

    我很久以前就用过它了,只有好话要说。

    【讨论】:

    • 因为我们现有的代码在 99% 的时间里都在工作,我真的不想去赎回。最好修复当前代码。我会尽量找到作者 helmut。
    【解决方案2】:

    如果不看更多代码真的很难说,但这里有点猜测,地址改变了,一些被添加,一些被删除。即使只是移动一个地址也会改变它的 entryid。因此,可能是您保存并尝试使用过时的长地址 entryid。确保您获得新的条目 ID。

    【讨论】:

      猜你喜欢
      • 2015-09-25
      • 2016-04-12
      • 2022-06-15
      • 2018-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多