質問編集履歴

3

構造体のサイズ変更

2016/09/12 23:06

投稿

Alpha_1968
Alpha_1968

スコア10

test CHANGED
File without changes
test CHANGED
@@ -150,10 +150,10 @@
150
150
 
151
151
  public UInt64 dwSize;
152
152
 
153
- public UInt64 th32ProcessID;
153
+ public UInt32 th32ProcessID;
154
154
 
155
155
  public UInt64 th32HeapID;
156
156
 
157
- public UInt64 dwFlags;
157
+ public UInt32 dwFlags;
158
158
 
159
159
  }

2

自己解決 構造体のサイズに問題があった。

2016/09/12 23:06

投稿

Alpha_1968
Alpha_1968

スコア10

test CHANGED
File without changes
test CHANGED
@@ -131,3 +131,29 @@
131
131
  AnyCpuでBuildすると成功しました。
132
132
 
133
133
  x64の場合 エラーコード24が出ているようです。
134
+
135
+
136
+
137
+ ###追記
138
+
139
+ C++のサンプルではDwordのサイズが可変します。
140
+
141
+
142
+
143
+ C#の場合uintで宣言した場合、自動的にサイズが切り替わらないので、この部分を考える必要がありました
144
+
145
+ 具体的には、構造体のほうを以下のようにすることで動くようになりました
146
+
147
+ public struct HEAPLIST32
148
+
149
+ {
150
+
151
+ public UInt64 dwSize;
152
+
153
+ public UInt64 th32ProcessID;
154
+
155
+ public UInt64 th32HeapID;
156
+
157
+ public UInt64 dwFlags;
158
+
159
+ }

1

AnyCpuとx64で結果が変わりました。

2016/09/11 22:41

投稿

Alpha_1968
Alpha_1968

スコア10

test CHANGED
File without changes
test CHANGED
@@ -123,3 +123,11 @@
123
123
 
124
124
 
125
125
  よろしくお願いします。
126
+
127
+
128
+
129
+ ###追記
130
+
131
+ AnyCpuでBuildすると成功しました。
132
+
133
+ x64の場合 エラーコード24が出ているようです。