По умолчанию NtAllocateVirtualMemory выделяет память в области "низких" адресов. Можно ли какнибудь заставить эту функцию выделить память после определенного адреса? Скажем, чтоб выделенный буффер был после 0х70000000.
В msdn нашел еще следующее: Но когда даю ненулевой BaseAddress - NtAllocateVirtualMemory возвращает STATUS_ALREADY_COMMITTED
Ну так тебе ж по-русски говорят, что указанный регион уже зарезервирован и одновременно закомичен, т.е. ты не можешь его использовать. Пробуй другой.
Сия ошибка, насколько мне известно, возвращается в следующих случаях: 1. Если хотя бы одна страница из указанного региона занята. 2. Указаны недопустимые границы региона в случае сброса страниц. 3. Указанный регион пересекается со специальными системными страницами. ... И ещё ряд вариантов. Короче говоря, пробуй другие регионы. Карту а.п. процесса ещё посмотреть можно, чтобы уж наверняка знать. Ещё можно в цикле попробовать повызывать эту функцию, посмотреть результаты будет интересно.