这是我用于 x86 进程的内存扫描的代码:
unsigned char *p = NULL;
MEMORY_BASIC_INFORMATION info;
for (p = NULL;
VirtualQueryEx(process, p, &info, sizeof(info)) == sizeof(info);
p += info.RegionSize)
{
...
}
代码正常工作。但是当我使用这段代码对x64进程进行内存扫描时,结果不正确!
我试图更改MEMORY_BASIC_INFORMATION
为MEMORY_BASIC_INFORMATION64
:
'SIZE_T VirtualQueryEx(HANDLE,LPCVOID,PMEMORY_BASIC_INFORMATION,SIZE_T)': cannot convert argument 3 from 'MEMORY_BASIC_INFORMATION64 *' to 'PMEMORY_BASIC_INFORMATION'
我搜索了很多,但不明白如何解决它。