Состояние виртуальной памяти

Виртуальная память может находиться в следующих состояниях:

Free - свободная
Reserved - зарезервированная
Committed - выделенная

Резервирование памяти нужно, если в ходе работы программы мы хотим работать с участком памяти как с последовательным массивом. Если этот участок будет довольно большой, то лучше его сразу зарезервировать.

Управление типом памяти обеспечивает функция VirtualAlloc() с параметрами:

MEM_RESERVE - резервировать
MEM_COMMIT - выделить

Удалять страницы и переводить их в резервное состояние позволяет VirtualFree():

MEM_RELEASE - освободить
MEM_DECOMMIT - зарезервировать