请教一个VirtualQuery函数问题
我现在想获取一个API函数所在的DLL路径,代码如下:
MEMORY_BASIC_INFORMATION mbi;
char *pfun = (char*)MessageBox;
char szModName[MAX_PATH]={0};
while(VirtualQuery(pfun, &mbi, sizeof(mbi)) == sizeof(mbi))
{
int nLen = GetModuleFileNameA((HINSTANCE) mbi.AllocationBase,
szModName, sizeof(szModName));
nLen = 0;
}
szModName被填充为USER32.dll(路径被我省略了)
现在有1个问题不是很明白:
MEMORY_BASIC_INFORMATION结构体里面的BaseAddress成员和AllocationBase成员的区别是什么呢?他们两者什么时候会相等呢?