回答編集履歴
2
文章を改善しました。
test
CHANGED
@@ -354,7 +354,7 @@
|
|
354
354
|
|
355
355
|
- Goのランタイムはポインタとして宣言されているものはポインタとして扱うので、有効なポインタでなければクラッシュする
|
356
356
|
|
357
|
-
- したがって、HANDLEは
|
357
|
+
- したがって、HANDLEはGoでは(ポインタそのままの)unsafe.Pointerではなく、uintptrとして扱う必要がある
|
358
358
|
|
359
359
|
|
360
360
|
|
@@ -362,7 +362,7 @@
|
|
362
362
|
|
363
363
|
|
364
364
|
|
365
|
-
また、頂いた回答を元に、そもそもHANDLEとは何かについて
|
365
|
+
また、頂いた回答を元に、そもそもHANDLEとは何かについて下記のリンク等を参考にした結果、HANDLEが表すものはHandle Tableのインデックスであり、特定のデータを指す有効なアドレスになっていない(ためエラーが出ていた)という今回の回答に行き着きました。
|
366
366
|
|
367
367
|
- [Windows の限界に挑む: ハンドル](https://technet.microsoft.com/ja-jp/windows/mark_07.aspx)
|
368
368
|
|
1
表現をより適切にしました。
test
CHANGED
@@ -354,7 +354,7 @@
|
|
354
354
|
|
355
355
|
- Goのランタイムはポインタとして宣言されているものはポインタとして扱うので、有効なポインタでなければクラッシュする
|
356
356
|
|
357
|
-
- したがって、HANDLEは、Goでは(ポインタそのままの)unsafe.Pointerではなく、uintptrとして扱う
|
357
|
+
- したがって、HANDLEは、Goでは(ポインタそのままの)unsafe.Pointerではなく、uintptrとして扱う必要がある
|
358
358
|
|
359
359
|
|
360
360
|
|