2015-09-16 86 views
-1

我正在尝试将我的IM客户端用C#编写,并与MS Outlook 2013集成。我希望Outlook从我的IM客户端接收状态信息。第一枪是使用这个instruction与Outlook 2013存在集成

它在开始时运行良好(Outlook获取我的界面,检查版本和功能,启动对话的能力),但在“检索联系人状态”一章中,我有所不同。 Outlook没有像所述的那样调用“GetContactInformation”。对于版本“15.0.0.0”和“14.0.0.0”都返回的接口都不起作用。

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

由于我使用的是Windows 8.1,LorParser 2.2无法读取此文件,并且TraceRpt.exe仅能够为我提供元数​​据(如时间或进程ID)。日志的重要部分隐藏在BinaryEventData字段下。我可以将这些格式转换为ascii并查看方法名称和垃圾。

我不知道是否有人可以告诉我的东西:

  1. 是否可以读取办公室2013日志解决我的IM整合?
  2. 是否有任何提示可以检查以发现问题?

回答

0

我想出了一些解决方案,所以我想写一个答案。我希望它对某个人有用。

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

在我来说,我已经得到了第一个错误是: “!CMsoProviderOCom :: HrEnsureContactAndGroupManager失败专线:3998小时= 0x80040200”

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

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

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

    • 看看Lync SDK。它有类似的接口(Microsoft.Lync.Model),它的文档看起来更完整。

  • 在我来说,我只是忘了标有几个我的课[ComSourceInterfaces()]。