Last Updated 2005/05/25
API

GlobalLockとGlobalFree


GlobalFree() は,ロックされたメモリオブジェクトを解放する.
(ロックされているメモリハンドルも解放する)
(http://msdn.microsoft.com/library/sdkdoc/winbase/memman_38kl.htm に
The GlobalFree function will free a locked memory object. とある)
ロックしたままでもアンロックしてからでも GlobalFree() は問題なく実行
可能である.

GlobalUnlock() は,GlobalLock() にて増加したロックカウントを1つ減らす.
ロックカウントが0になるまで移動や廃棄は不可能.

GlobalLock() と GlobalReAlloc() の GMEM_MOVEABLE は意味が異なる.

GlobalAlloc() で GMEM_FIXED(GPTR) を使用して,サイズが変更になった時
に GMEM_MOVEABLE にて GlobalReAlloc() すると GlobalLock() は必要ない.
GMEM_MODIFY を使用しなければ一度確保したメモリの属性が GMEM_MOVEABLE で
変わることはない.(アドレスが移動する可能性はある)
2002/10/15

参照
メモリ管理
メモリ確保


API