我想知道是否有可能确定一个虚拟地址(指针)是否属于以前的 VirtualAlloc
调用(如果可能的话不写入页面)。如果 VirtualFree
与 MEM_RELEASE
一起使用,它可以自动设置 dwSize
值。
最佳答案
是这样的还是我不明白这个问题?
MEMORY_BASIC_INFORMATION mbi;
void* p = NULL;
VirtualQuery(p, &mbi, sizeof(mbi));
BOOL bWasUsed = (mbi.State==MEM_FREE)? FALSE: TRUE;
关于检查 VirtualAlloc 是否返回了 VirtualAddress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14950789/