第 号
|
Last Updated 2005/05/25
|
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
参照
メモリ管理
メモリ確保