3

Microsoft Lync 2010 APIを使用して、カスタムの軽量イン/アウトボード(別名ステータス、プレゼンスなど)アプリケーションを作成しています。起動/ログイン後に実行する必要がありますが、マシンを起動/再起動した後にログインすると問題が発生しました。LyncClient.GetClientメソッドから次のエラーが発生します

System.Runtime.InteropServices.COMException(0x800706BE):リモートプロシージャコールが失敗しました。(HRESULTからの例外:0x800706BE)Microsoft.Office.Uc.IUCOfficeIntegration.GetInterface(String _version、OIInterface _interface)at Microsoft.Lync.Model.LyncClient.GetClient()

私のアプリケーションは、ネットワークドライブから実行されるClickOnceアプリケーションです。オンラインモードでのみ利用できます。.applicationファイルは、netlogonから実行されるバッチファイルから呼び出されます。コンピューターをしばらく実行した後でバッチファイルを実行すると、正常に機能します。ログアウトしてから再度ログインしても機能します。したがって、LyncClient.GetClientメソッドが呼び出されたときにまだ開始されていない必要なサービスがあると想定しています。

4

1 に答える 1

3

これがあなたが待ち望んでいたサービスであることには同意しますが、「リモート プロシージャ コール (RPC)」サービスを推測する危険があります。これは、COM 通信を可能にするサービスです (つまり、特に COM アクティベーション要求を処理します)。

Service Control Manager ではサービスをシャットダウンできないため、これをテストするのは面倒です。Windows の大部分が COM に依存しているため、これは重要なサービスです。

テストするには、サービスのスタートアップ ステータスをコードで確認し、そのサービスが開始されたときにのみ Lync を初期化します。

于 2011-03-21T13:32:10.537 に答える