1

ネイティブ コード (c++) でマネージ ダイナミック リンク ライブラリ (c#) を使用する必要がありました。ここで解決策を見つけました。( http://support.microsoft.com/kb/828736 )。

しかし、私を悩ませているのは..

1) 管理されたダイナミック リンク ライブラリは、com を介してネイティブ コードで使用され、プロセス内の com サーバーとして機能しますか? . はいの場合、どのようにできますか?

2)いいえの場合、動的にリンクされたライブラリは、実行可能ファイルによって実行されることなく、アウトプロセスcomサーバーとして機能することができます.

4

2 に答える 2

0
  1. COM はマネージ DLL の CLR を開始する方法を認識しているため、これは適切なビット数 (AnyCPU または 32/64 ビットなど) で実行できるマネージ DLL に対して機能します。
  2. クロスビット DLL の場合、CLR はDllHost.exeを起動してマネージ DLL をアウトプロセスで実行する方法を知っていると思います。もちろん遅くなります。
于 2013-10-08T16:32:35.617 に答える
0

これはインプロセス構成です。P/Invoke メカニズムを直接使用するよりも、それほど「不可能」ではありません。実行すると、クライアントがCOM を呼び出したときに、対応する .NET アセンブリから関数を P/Invoke する必要があることを認識regasmできるように、レジストリに必要な変更が加えられます。CoCreateInstance()

于 2013-10-07T09:05:56.883 に答える