C# や C++ を使用して構築されたアプリケーションによって消費される COM オブジェクトに共有メモリを使用することは可能ですか?
C# はクラッシュせずに COM オブジェクトの共有メモリにアクセスできますか?
ありがとう、
アディ・バルダ
C# や C++ を使用して構築されたアプリケーションによって消費される COM オブジェクトに共有メモリを使用することは可能ですか?
C# はクラッシュせずに COM オブジェクトの共有メモリにアクセスできますか?
ありがとう、
アディ・バルダ
はい、必要です。メモリ マップ ファイルを作成するだけです。これを .NET で直接実行できない場合は、.NET アプリケーションから埋め込んで呼び出す C/C++ コードで実行する必要があります。
クラッシュ防止を行うには、根底にある機微を適切に理解する必要があります。これは、boost::interprocessがこれらを非常にうまく抽象化するのに役立つ可能性があるためです。
これでCOMオブジェクトがどのような役割を果たしているのかよくわかりません。しかし、いいえ、MMFをマネージコードと根本的に互換性のないものにするものは何もありません。それらにアクセスするにはポインタが必要なので、使用するのは非常に厄介です。
MMFのサポートは.NET4.0で提供されます。これを本番コードで使用するのはおそらく時期尚早です。ただし、APIを確認して、切り替え時にAPIに適切に適合するようにしてください。