Last Updated 2002/10/15 |
Programming Tips Visual C++ API | 索 引 |
GlobalLockとGlobalFree
2002/10/15
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 で変わることはない.(アドレスが移動する可能性はある) 参照 メモリ管理 メモリ確保 |
|