Пишу сканер памяти. Сначала я использую вызов VirtualQueryEx
для получения базового адреса памяти и размера области в struct MEMORY_BASIC_INFORMATION
, а затем использую вызов ReadProcessMemory
для чтения памяти.
Проблема, с которой я столкнулся, заключается в том, что VirtualQueryEx
заполняет MEMORY_BASIC_INFORMATION.Region Size
-1
.
Почему это происходит? В чем смысл этого -1
?
VirtualQueryEx
успех (ненулевое значение)? - person raj raj   schedule 21.06.2013while((bytes_to_read=VirtualQueryEx(hProcess,addr,&meminfo,sizeof(MEMORY_BASIC_INFORMATION)))!=0) { if (meminfo.State & MEM_FREE)//checking if memory page is free or used { addr += meminfo.RegionSize;//here it is adding -1 so it is not going to next page continue; }
Я делаю это на 64-битной виртуальной машине VirtualBox с Win 7. - person Daniyal Yasin   schedule 21.06.2013