首页 > 解决方案 > C++ - x64 进程的 VirtualQueryEx

问题描述

这是我用于 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_INFORMATIONMEMORY_BASIC_INFORMATION64

'SIZE_T VirtualQueryEx(HANDLE,LPCVOID,PMEMORY_BASIC_INFORMATION,SIZE_T)': cannot convert argument 3 from 'MEMORY_BASIC_INFORMATION64 *' to 'PMEMORY_BASIC_INFORMATION'

我搜索了很多,但不明白如何解决它。

标签: c++winapimemoryvirtualquery

解决方案


推荐阅读