有谁能告诉我如何使用WinAPI函数内存分配某些进程的内存区域?我想知道每个地区,起始地址,大小和其他一些东西,如保护类型等。
我找不到任何WinAPI功能; - (
任何人都可以帮助我吗?
答案 0 :(得分:7)
有些代码可以使用VirtualQueryEx
here来强制执行此操作:
MEMORY_BASIC_INFORMATION mbi;
/* Get maximum address range from system info */
GetSystemInfo(&si);
/* walk process addresses */
lpMem = 0;
while (lpMem < si.lpMaximumApplicationAddress) {
VirtualQueryEx(...)
/* increment lpMem to next region of memory */
lpMem = (LPVOID)((DWORD)lpList->mbi.BaseAddress +
(DWORD)lpList->mbi.RegionSize);
}