The pages of a process's virtual address space can be in one of the following states.
| State | Description |
| Free | The page is neither committed nor reserved. The page is not accessible to the process. It is available to be reserved, committed, or simultaneously reserved and committed. Attempting to read from or write to a free page results in an access violation exception.
A process can use the
VirtualFree or
VirtualFreeEx function to release reserved or committed pages of its address space, returning them to the free state.
|
| Reserved | The page has been reserved for future use. The range of addresses cannot be used by other allocation functions. The page is not accessible and has no physical storage associated with it. It is available to be committed.
A process can use the
VirtualAlloc or
VirtualAllocEx function to reserve pages of its address space and later to commit the reserved pages. It can use
VirtualFree or
VirtualFreeEx to decommit committed pages and return them to the reserved state.
|
| Committed | Physical storage is allocated for a reserved page, and access is controlled by one of the
memory protection constants. The system initializes and loads each committed page into physical memory only during the first attempt to read or write to that page. When the process terminates, the system releases the storage for committed pages.
A process can use
VirtualAlloc or
VirtualAllocEx to commit physical pages from a reserved region. They can also simultaneously reserve and commit pages.
The
GlobalAlloc and
LocalAlloc functions allocate committed pages with read/write access.
|
Send comments about this topic to Microsoft
Build date: 11/19/2009