GlobalLockで、グローバルメモリをロックし、先頭ポインタを取得する。
GlobalLock function (winbase.h) - Win32 apps | Microsoft Docs
固定メモリの場合は、ハンドルの値がそのまま先頭ポインタになるので、ハンドルをキャストしてそこにデータをコピーしたりできる。
一方で移動可能なメモリの場合は、ハンドルと先頭ポインタが異なるので、ハンドルをキャストしてはいけない。
最初は固定メモリ、次に移動可能メモリ。
hGlobal = 0x005a2510 lpszText = 0x005a2510 hGlobal = ABCDE lpszText = ABCDE hGlobal = 0x00230004 lpszText = 0x005a2510 lpszText = ABCDE 続行するには何かキーを押してください . . .
固定メモリは、確かに値が同じで、hGlobalに文字列をコピーして、lpszTextにも反映してる。
移動可能メモリは、値が異なるので、それはできない。
Sample/winapi/GlobalLock/GlobalLock/src/GlobalLock at master · bg1bgst333/Sample · GitHub