質問編集履歴
1
追記しました
test
CHANGED
File without changes
|
test
CHANGED
@@ -54,15 +54,15 @@
|
|
54
54
|
|
55
55
|
//C++側(ヘッダファイル)
|
56
56
|
|
57
|
-
|
57
|
+
#ifdef __cplusplus
|
58
58
|
|
59
|
-
|
59
|
+
#define EXPORT extern "C" __declspec(dllexport)
|
60
60
|
|
61
|
-
|
61
|
+
#else
|
62
62
|
|
63
|
-
|
63
|
+
#define EXPORT __declspec(dllexport)
|
64
64
|
|
65
|
-
|
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
|
+
としても効果なく
|