Shared Memory

The RTSS shared memory object is a region of non-paged physical memory that can be mapped into the virtual address space of a process. When a shared memory object has a name, additional processes may map the region of memory. A shared memory object is accessed with both a handle and a virtual address. In order for a process to completely end its access to a shared memory object it must close the handle. When all processes end their access to a shared memory object, the following occurs:

NOTE: Shared memory objects are created from the system's external allocation space (ExtMSpace) when local memory is used.

The RTSS shared memory object is always maintained in the RTSS environment and namespace. However, Windows processes may create and open RTSS shared memory objects.

The RTSS shared memory object is its own named object. If you are familiar with a Windows program, when you allocate memory, then map a view of that memory, the RtCreateSharedMemory and RtOpenSharedMemory calls implicitly map the shared memory; this eliminates the explicit Win32 call to the MapViewOfFile call. When the shared memory object is created, RTSS backs the shared memory object with non-paged memory.

NOTE: Shared memory cannot be greater than 4GB.

Topics: