与Outlook 2013的状态集成

本文关键字:状态 集成 2013 Outlook | 更新日期: 2023-09-27 18:13:03

我正在尝试将我用c#编写的im客户端与MS Outlook 2013集成。我希望Outlook从我的im客户端接收状态信息。第一次是使用这个指令。

它在一开始工作得很好(Outlook得到我的界面,检查版本和功能,开始对话的能力),但在"检索联系人状态"这一章,我有一个不同。Outlook没有像描述的那样调用"GetContactInformation"。对于版本"15.0.0.0"answers"14.0.0.0"返回的接口都不起作用。

我尝试使用OfficePresenceLogging打开日志记录,但它似乎只适用于以前版本的MS Outlook。所以,我使用了这种技术,它给了我二进制文件"微软支持工程师有工具来分析"。

因为我使用Windows 8.1, LorParser 2.2无法读取此文件,而TraceRpt.exe只能给我元数据(如时间或进程ID)。日志的重要部分隐藏在BinaryEventData字段下面。我可以把这些十六进制转换成ascii码,然后看到一些类似方法名和垃圾的东西。

我想知道是否有人能给我一些建议:

  1. 是否可以阅读Office 2013日志以解决我的IM集成问题?
  2. 是否有任何提示,我可以检查找到一个问题?

与Outlook 2013的状态集成

我想到了一个解决方案,所以我想把答案写下来。我希望它能对某人有用。

  1. 不幸的是,我未能在Windows 8.1和Windows 7中读取Outlook 2013日志。我找到的唯一解决方案是:用Office 2010测试这个应用程序(它使用文本日志)。您可以在本文末尾找到如何打开日志的说明。

在我的情况下,我得到的第一个错误是:"CMsoProviderOCom:: HrEnsureContactAndGroupManager !失败!Line: 3998 hr = 0x80040200"

  • 如果在与IM集成的开始出现问题,Outlook似乎会拒绝所有进一步的信息。

    • 检查您的应用程序返回Outlook使用的方法的所有正确值。

    • 检查你已经实现了所有的事件,似乎不可能发现缺乏它们与调试器

    • 看一下Lync SDK。它有类似的界面(Microsoft.Lync.Model),而且它的文档看起来更完整。

  • 在我的情况下,我只是忘记用[ComSourceInterfaces()]标记我的几个类。