質問編集履歴

1

追記しました

2019/10/16 13:21

投稿

puroguraman
puroguraman

スコア20

test CHANGED
File without changes
test CHANGED
@@ -54,15 +54,15 @@
54
54
 
55
55
  //C++側(ヘッダファイル)
56
56
 
57
- #ifdef __cplusplus
57
+ ifdef __cplusplus
58
58
 
59
- #define EXPORT extern "C" __declspec(dllexport)
59
+ define EXPORT extern "C" __declspec(dllexport)
60
60
 
61
- #else
61
+ else
62
62
 
63
- #define EXPORT __declspec(dllexport)
63
+ define EXPORT __declspec(dllexport)
64
64
 
65
- #endif
65
+ endif
66
66
 
67
67
 
68
68
 
@@ -109,3 +109,19 @@
109
109
  コードは端折りましたがエラーを起こさないように書いただけで値は来ていません。
110
110
 
111
111
  どなたか教えてください
112
+
113
+
114
+
115
+ ちなみに見よう見まねでVBのcallの前に
116
+
117
+ Dim size As Integer = Marshal.SizeOf(GetType(data))
118
+
119
+ 'ヒープ領域にサイズ分のメモリ確保
120
+
121
+ Dim iPtr As IntPtr = Marshal.AllocHGlobal(size)
122
+
123
+ '// マネージド構造体をアンマネージドにコピーする
124
+
125
+ Marshal.StructureToPtr(struct, iPtr, False)
126
+
127
+ としても効果なく