Вы можете использовать CreateProcess () для запуска процесса.
Как только вы это сделаете, вы можете использовать SetProcessWorkingSetSize () , чтобы попытаться контролировать, сколько физической памяти он использует, но это скорее сильное предложение для VMM, чем какой-то действующий указ, который будет вызвать malloc () и new, чтобы начать терпеть неудачу.
Нельзя сказать, что «этот процесс займет 4 МБ памяти, и после этого все выделения завершатся неудачно». Я имею в виду, что вы собираетесь ссылаться на win32 dll и не знаете, какое использование памяти требуется для этих вещей. Если вы хотите, чтобы ваше приложение занимало только определенный объем памяти, не выделяйте больше. И не делай то, что выделяет память.
Ваш вопрос относительно кода ошибки не имеет никакого смысла.