0

私のプロジェクトでは、多くのサードパーティ製アプリを呼び出す必要があります。その部分を安全に呼び出す方法を探しています。

それらを別のプロセスで呼び出すと、メインアプリケーションをサードパーティアプリの障害から分離できます。しかし、これらのDLLを呼び出す際にこの分離を行う方法を見つけたいと思います。サンドボックスでDLLを呼び出すことができるかもしれません(しかし、あなたがどのように私を助けてくれれば、私は方法がわかりません:d)。

.Net AppDomainについて考えていますが、私のプロジェクトはC ++で記述されており、C++でAppDomainの概念を見つけることができません。

これを達成するための効率的な方法を見つけるのを手伝っていただければ幸いです。

4

1 に答える 1

2

このための既存のWindowsメカニズム、COMがあります。を設定するCLSCTX_LOCAL_SERVERと、DLL COMコンポーネントがCOMサロゲートプロセスDllHost.EXEにロードされ、COMプロキシがプロセスに作成されます。DllHost.EXEはサンドボックスです。障害が発生しても、プロセスでプロキシがクラッシュすることはありません。

サードパーティコンポーネントが非COMインターフェイスを使用している場合は、シンCOMラッパーを自分で追加する必要がある場合があります。

于 2013-02-14T09:02:27.230 に答える