从C#访问MAPI属性时出现问题

时间:2011-01-14 04:27:05

标签: c# com vsto mapi

我们在访问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。到目前为止它一直很好用。

有没有明亮的火花可以帮我解决这个问题?感谢

2 个答案:

答案 0 :(得分:0)

Outlook API不允许您更改许多内容(使其成为只读)

有时真的很令人沮丧。

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

我很久以前就已经习惯了,并且只能说些好话。

答案 1 :(得分:0)

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