检查VirtualAlloc是否返回了VirtualAddress

时间:2013-02-19 05:54:49

标签: c windows winapi memory-management

我想知道是否有可能确定虚拟地址(指针)是否属于之前的VirtualAlloc调用(如果可能,无需写入页面)。如果VirtualFreedwSize一起使用,MEM_RELEASE可以自动设置{{1}}值。

1 个答案:

答案 0 :(得分:2)

这样的东西还是我不明白这个问题?

MEMORY_BASIC_INFORMATION mbi;
void* p = NULL;
VirtualQuery(p, &mbi, sizeof(mbi));
BOOL bWasUsed = (mbi.State==MEM_FREE)? FALSE: TRUE;