2015-09-16 102 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()]。