The RexxThreadContext interface vector provides a very wide range of functions to your application code. There are roughly 125 functions defined on a RexxThreadContext. Among the services provided are:
Running Rexx programs
Loading Rexx packages
Invoking methods of Rexx objects
Converting between objects and various C++ types
Creating and manipulating common Rexx object types
Raising/handling Rexx syntax errors
The C++ methods defined on a RexxThreadContext C++ object include the methods defined by the RexxInstance class, so the single context vector is used to access both thread context and interpreter instance APIs.
A RexxThreadContext instance is returned with the original RexxCreateInterpreter() call that create the interpreter instance. The AttachThread() method will create a RexxThreadContext instance for additional threads that you add to an interpreter instance. Additionally, the RexxMethodContext, RexxCallContext, and RexxExitContext objects embed a RexxThreadContext object the same way that a RexxThreadContext object embeds a RexxInstance object.