Ошибка ERROR_INVALID_ADDRESS или STATUS_CONFLICTING_ADDRESSES если использовать NtAllocateVirtualMemory.
Пробовал перед Alloc делать VirtualFreeEx — толку ноль. Потом попробовал весь нужный диапазан обходить с помощью
VirtualQueryEx и принудительно удалять несвободные блоки — помогает, но иногда процесс стартует, но не пашет.
Можно конечно создавать процессы в цикле пока не получиться, но это ж бред :\ Нужно что бы работало как часы (не китайские).
Надо сказать что дело было под вистой. Мб какая аномалия связанная с ASLR. Помогите разобраться!
Для тесту возьмите широкоизвестный loadexe.cpp, но в качестве "инкубатора" используйте не calc.exe
(с ним работает), а скажем iexplore.exe.