常规用法:
VirtualAlloc(
LPVOID lpAddress,
SIZE_T dwSize,
DWORD flAllocationType,
DWORD flProtect
);
lpAddress,指定内存开始的地址。
dwSize,分配内存的大小。
flAllocationType,分配内存的类型。
flProtect,访问这块分配内存的权限。
LPVOID lpAddress,
SIZE_T dwSize,
DWORD flAllocationType,
DWORD flProtect
);
lpAddress,指定内存开始的地址。
dwSize,分配内存的大小。
flAllocationType,分配内存的类型。
flProtect,访问这块分配内存的权限。
例:
// 申请虚拟内存
void* pMem = :: VirtualAlloc(NULL, 4096, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE );
void* pMem = :: VirtualAlloc(NULL, 4096, MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE );
// 释放虚拟内存。注意:1)第3个参数一定要用MEM_RELEASE,而不能用MEM_DECOMMIT;2)第二个参数一定要用0)
::
VirtualFree(pMem, 0,
MEM_RELEASE);