Доброго времени суток, господа!
Передо мной стоит задача исследовать виртуальное адресное пространство своего же процесса под управлением чудной ОС Windows Mobile 6.
Памятуя о великом Рихтере, взял его реализацию VMQuery, пошаманил с ней, в итоге получил сносные результаты, но к сожалению только для своего слота памяти (доходит только до 0x02000000). Если пробовать двигаться дальше, то VirtualQuery, а значит и VMQuery возвращает 0.
Как известно виртуальная память в WM 6 (как и в WinCE 5) имеет размер 4 Гб, 2 отданы на откуп системе, 1 отдан еще на разделяемые файлы, на процессы остается 1 гигабайт, который разделен на слоты для каждого процесса.
В связи с этим встает вопрос, каким образом получить доступ к остальным слотам?
Заранее спасибо за ответы
Здравствуйте, 4ekin, Вы писали:
4>Доброго времени суток, господа!
4>Передо мной стоит задача исследовать виртуальное адресное пространство своего же процесса под управлением чудной ОС Windows Mobile 6.
4>Памятуя о великом Рихтере, взял его реализацию VMQuery, пошаманил с ней, в итоге получил сносные результаты, но к сожалению только для своего слота памяти (доходит только до 0x02000000). Если пробовать двигаться дальше, то VirtualQuery, а значит и VMQuery возвращает 0.
4>Как известно виртуальная память в WM 6 (как и в WinCE 5) имеет размер 4 Гб, 2 отданы на откуп системе, 1 отдан еще на разделяемые файлы, на процессы остается 1 гигабайт, который разделен на слоты для каждого процесса.
4>В связи с этим встает вопрос, каким образом получить доступ к остальным слотам?
4>Заранее спасибо за ответы
апну тему, неужели никто советом не поможет?
Здравствуйте, superlexx, Вы писали:
S>низя: http://msdn.microsoft.com/en-us/library/ms892491.aspx
Спасибо за ссылку, а правильно я понял, что если вызвать SetKMode(true), то можно будет получить доступ к памяти, а в конце выполнить SetKMode(false)?
Или нельзя?
Возможно, но наверное зависит от настроек в ОС. Всё-таки это в главе "Developing a Device Driver".