Using Processes
The sections that follow describe how processes run in the RTSS and Windows environments.
Processes in the RTSS Environment
An executable process running in the RTSS environment consists of a set of handles to objects, process address space, and at least one thread. When a process is created, RTSS performs the following tasks:
- Loads the executable using the RTX64 loader
- Allocates process heap from the non-paged pool
- Creates the primary thread
- Starts execution of the main thread at its entry point on the allocated processor
A process can be started by one of these methods:
- Running the RTSS executable from the RTX64 Task Manager > Start Task dialog.
- Running the RTSS executable from the command line (using the RTSSrun utility)
- Double-clicking the RTSS executable
- Starting the RTSS process from within an application:
- Windows managed application
- Windows unmanaged application (using RtCreateProcess)
- RTSS application (using RtCreateProcess or CreateProcess)
A process exits under one of these conditions:
- The last thread of the process has exited
- Any thread of the process calls ExitProcess
- The process is killed with the RTX64 Task Manager or RtssKill utility
- The process is terminated by RtTerminateProcess
Processes in the Windows Environment
A process running in the Windows environment starts interacting with RTX64 when it makes an RTAPI call. RTX64 will then allocate proxy resources for this process. The number of Windows processes that can interact with RTX64 is dynamic; it depends on your system's configuration and resources. Windows processes must use the RTAPI functions to interact with RTSS applications.
Related topics: