アンマネージドC++からC#関数を呼び出して値を返すことができるC++のクラスを実装する必要があります。私はこれをC++からC++にMIDL/RPCバインディングを使って行ってきましたが、今ではサーバアプリケーションがC#に移行していますが、クライアントはアンマネージドC++(エクスプローラ拡張)のままでなければなりません。C++からC#へのRPC用COMの使用#
私はさまざまな方法を見てきましたが、多くの人がCOMを提案しました.CommはIPC/RPCではなく、クライアントアプリケーションで提供されたオブジェクトをホストするためのものでした。これはCOMで可能になるでしょうか?もしそうなら、誰かが良いリファレンスや例の方向に私を向けることができますか?
EDIT:
ただ、明確にするために、クライアント(DLL)をエクスプローラのプロセス空間にロードされるように、私は、マネージコードを使用することはできません。
私が達成しようとしているのは、拡張機能がファイルに関するいくつかの詳細について実行中のサービス(セッション0)を要求するファイルを右クリックしたときです。これは以前はC++ < - > C++クライアント/サーバーのRPC経由で行われていました。今、サーバーはC#にアップグレードされましたが、私のオプションが何であるか分かりません。 COMはオプションですか?
おかげで、 J
COMは、アウトプロセスまたはクロスアパートの場合には、RPC必要なときに使用します。 RPCをうまく処理する必要はありません。これが適用されるかどうかを知るためにも、あなたの質問には詳細が十分ではありません。 –
さらに詳しい情報が含まれています。 – JWood