Like private memory objects, shared memory objects have a distinction between allocating and committing storage. Shared memory objects may be committed upon allocation, or subsequently using exception handlers and the DosSetMem() function. The guard page technique may be used with shared memory objects as well as private memory objects.
One distinction between shared memory objects and private memory objects is that private memory objects may be "de-committed" if the required amount of memory reduces during execution; that is, physical storage is released without releasing the corresponding address ranges in the process address space. Shared memory objects may not be de-committed, to avoid the situation where one process may de-commit a page that is being accessed by another process.