C++ - VirtualQueryEx для процессов x64
Вот мой код, который я использую для сканирования памяти процессов 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'
Я много искал, но не мог понять, как решить.