0

C#2005でC++アプリを書き直しています。アプリには2つのコンポーネントがあります。1つはC++サービスで起動できるアウトプロセスCOMサーバーです。COMサーバーは発信インターフェイスを使用します。つまり、特定のイベントが発生すると、C++サービスモジュールからイベントハンドラーメソッドを呼び出します。

C++サービス部分を書き直しています。今、私は、Runtime Callable WrapperとConnectionpointを使用してCOMサーバーを起動し、イベントハンドラーメソッドの実装を提供するアプリを開発しました。アプリを実行すると、COMサーバーは正常に起動しますが、COMサーバーがアプリのイベントハンドラーメソッドを呼び出そうとすると例外が発生します。

アクセスが拒否されました。(HRESULTからの例外:0x80070005(E_ACCESSDENIED))

私はWebを頻繁に検索しましたが、これらは私の問題に密接に関連するいくつかのトピックです:http: //www.codeproject.com/Forums/1648/COM.aspx?fid= 1648&select=2189754&fr=1792#xx2189754xx

どんな助けでも大歓迎です。

4

1 に答える 1

0

COM 相互運用 DLL を開発していたとき、ビルド プロセス中に同じエラーが発生しました。GAC から古いバージョンの DLL をアンインストールすることで問題を解決しました。その後、E_ACCESSDENIED エラーなしで DLL をビルドできました。

于 2010-06-04T17:43:43.593 に答える