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 a handle and a virtual address. 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).

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 and 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 it up with non-paged memory.

Note: Shared memory cannot be greater than 4 GB.

Topics: