C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 127 を表示中)
■75358 / )  Re[9]: VB.netからVC++6.0のへの構造体配列参照渡し
□投稿者/ 774RR (243回)-(2015/03/18(Wed) 17:10:07)
俺は、今までの発言の中に SAFEARRAY の実体を取得しているのがどこかは書かれていないと読んでいる。
現在既にある VB6 プログラムの動作上、通信バッファに相当する SAFEARRAY の実体を
1. VB6 EXE 側が確保して VC DLL に渡し、用済み後 VB6 EXE が処分している
2. VC DLL が取得・処分処理をカプセル化していて (malloc/free 相当処理を VC DLL 側で行っていて)
VB6 EXE 側はメモリの取得・処分の詳細を知らなくてすむようになっている
どちらだろう。

1. なら通信バッファは VB.NET 側で取得した manage memory を使うことになり、
 単純に VC DLL に向けて marshal すればいいので簡単だろう。
2. なら通信バッファは VC DLL 側で取得した unmanage memory を使うことになり
 VB.NET 側で unmanage memory を使う細工が必要で面倒と思われる。

どう marshal したいかってのはこういう意味だし 1 2 で実装は異なってくる。

返信 編集キー/


管理者用

- Child Tree -