22 return ::VirtualAlloc (NULL, bytes, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
28 LPVOID lpvRenew =
Allocate (bytes, dwFlags);
31 CopyMemory (lpvRenew, lpvMem, previousSize);
42 return ::VirtualFree (lpvMem, 0, MEM_RELEASE);
49 return ::VirtualAlloc (NULL,
size, MEM_RESERVE, PAGE_READWRITE);
54 return ::VirtualFree (lpvMem, 0, MEM_RELEASE);
59 return ::VirtualAlloc (lpvMem,
size, MEM_COMMIT, PAGE_READWRITE);
65#pragma warning(disable:6250)
66 return ::VirtualFree (lpvMem,
size, MEM_DECOMMIT);
72 return ::VirtualLock (lpvMem,
size);
77 return ::VirtualUnlock (lpvMem,
size);
仮想メモリに関するWindowsAPIを集約したクラス
virtual LPVOID APIENTRY Allocate(SIZE_T bytes, DWORD dwFlags=MEM_ZERO)
メモリの取得
APIENTRY VirtualMemory1()
コンストラクタ
virtual LPVOID APIENTRY Reallocate(LPVOID lpvMem, SIZE_T bytes, DWORD dwFlags=MEM_ZERO)
取得メモリの拡大
virtual BOOL APIENTRY Free(LPVOID lpvMem)
メモリの返却
BOOL APIENTRY Lock(LPVOID lpvMem, SIZE_T size) const
メモリのロック
BOOL APIENTRY Decommit(LPVOID lpvMem, SIZE_T size) const
確定メモリの解除
LPVOID APIENTRY Commit(LPVOID lpvMem, SIZE_T size) const
予約メモリの確定
BOOL APIENTRY Unlock(LPVOID lpvMem, SIZE_T size) const
メモリのアンロック
BOOL APIENTRY Release(LPVOID lpvMem) const
仮想メモリの予約開放
LPVOID APIENTRY Reserve(SIZE_T size) const
仮想メモリの予約