タイトル : 共有メモリから構造体を含む構造体を取得したい 投稿日 : 2012/12/02(Sun) 14:08 投稿者 : empty
いつもお世話になります。 以前、こちらの掲示板でご質問させていただき、続けて書くべきか悩んだのですが、 新しく投稿させていただきました。 [前回の質問URL] http://hanatyan.sakura.ne.jp/vbnetbbs/wforum.cgi?no=10967&reno=no&oya=10967&mode=msgview&page=0 c++にてマップドファイルを作成し、VB.netでメモリコピーし、データを確認(参照)する といったことを行いたいです。 下記のようにc++側で構造体を含む構造体に値をセットし、共有メモリへ書き込んだのですが、 取得方法が分からず、手詰まりしてしまいました。 <c++>------- // 構造体宣言 typedef struct SHARED_DATA{ int a; CHILD b[20]; } typedef struct CHILD{ int c; CHILD_2 d1; CHILD_2 d2; } typedef struct CHILD_2{ double x; double y; double z; } //マップドファイルへの書き込み省略 ------------ <vb.net>------ '構造体宣言 Structure SHARED_DATA dim a as Integer dim b() as CHILD End Structure typedef struct CHILD{ dim c as Integer dim d1 as POINT dim d2 as POINT } typedef struct POINT{ Dim x As Double Dim y As Double Dim z As Double } マップドファイルの読み込み省略 Dim eInfo As SHARED_DATA ReDim eInfo.b(19) '配列のメモリ確保 eInfo.a = BitConverter.ToInt32(tBuf, 0) eInfo.b = BitConverter.ToInt32(tBuf, 4) ------------ aの値を取得することはでき、BitConverter.ToInt32(tBuf, 4)にも 値が入っていることは確認できました。 しかし、どのように構造体b、d1の情報を取得すればよいのかわかりません。 勉強不足でお手数を取らせますが、ご教授の程よろしくお願いいたします。 |