Как получить список всех регионов памяти процесса.
От: zeroowl  
Дата: 02.03.06 10:53
Оценка:
У меня есть dll который я вставляю в процесс Oracle . И хочу получить аддресное пространство чтобы проверять поинтеры.
Я использую VirtualQuery на один изветный мне аддрес

rc = VirtualQuery((LPCVOID) pOracleProcTableAddr, &mbi, (DWORD) sizeof(mbi));
oraSgaStart = mbi.AllocationBase;
oraSgaEnd = ((char *) mbi.BaseAddress) + mbi.RegionSize;

Все работает кроме случаев когда Oracle запущен с 4Гб SGA.(inderect mode)
В этом случае VirtualQuery возвращает только часть адресного пространства.Видимо только один из Regions.

Как я могу узнать все регионы.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.