(自作のため全てのコードは入手可能です)
C++/NativeのDLLが出力するデータは構造が複雑なために、C#でマーシャリングするのが大変です。
そのためC++/CLIで一度クッションを入れてデータのやり取りを考えています。
C#のEXE -> C++/CLIのDLL -> C++/NativeのDLL
みたいな流れです。
C++/CLIでC++/Nativeをコールして、その結果をC++/Nativeのヘッダーファイルで定義されているクラスとして取得できました。
これをC#に渡したい場合、
C++/CLIのDLLではどんな手段がありますか?
①C++/CLIでC#に渡す用のクラスを定義しないといけない
②C++/Nativeのヘッダーがあるならいい方法がある
③マーシャリングが大変でもC#から直接C++/Nativeを呼ぶほうがマシ。
その他なんでもいい方法があれば教えてください。
・C++/Nativeの出力するオブジェクトはSTLのものを含みます。
・共有メモリやらメモリマップドファイルなどを使ってC++/CLI⇔C++/Nativeの連携が成立しているので、やりとりには多少の処理が必要です。
・.NET2.0で可能なものでお願いします。
すみません。真面目に質問しているので勘弁して下さい。