8.2.2 The RexxRegisterSubcomExe() function This function is used to register a subcommand handler with the interface. The subcommand handler must be a procedure located within the code of the application. After registration, the REXX interpreter can execute subcommands by calling the subcommand handler with parameters describing the subcommand. The prototype for RexxRegisterSubcomExe() is: APIRET APIENTRY RexxRegisterSubcomExe( PSZ EnvName, PFN EntryPoint, PUCHAR UserArea ) ; All the parameters are input, and their significance are: [EnvName] Points to an ASCII NUL terminated character string which defines the name of the environment to be registered. This is the same name as the REXX interpreter uses with the ADDRESS clause in order to select an external environment. [EntryPoint] Points to the entrypoint of the subcommand handler routine for the environment to be registered. See the section on Subcommand Handlers for more information. There is an upper limit for the length of this name. [UserArea] Pointer to an 8 byte area of information that is to be associated with this environment. This pointer can be NULL if no such area is necessary. The areas pointed to by EnvName and UserArea are copied to a private area in the interface, so the programmer may de-allocate or reuse the area used for these parameters after the call has returned. The RexxRegisterSubcom() returns an unsigned long, which carries status information describing the outcome of the operation. The status will be one of the RXSUBCOM values: [ RXSUBCOM_OK] The subcommand handler was successfully registered. [RXSUBCOM_DUP] The subcommand handler was successfully registered. There already existed another subcommand handler which was registered with RexxRegisterSubcomDll(), but this will be shadowed by the newly registered handler. [RXSUBCOM_NOTREG] Due to some error, the handler was not registered. Probably because a handler for EnvName was already defined at a previous call to RexxRegisterSubcomExe(). [RXSUBCOM_NOEMEM] The handler was not registered, due to lack of memory. [RXSUBCOM_BADTYPE] Indicates that the handler was not registered, due to one or more of the parameters having invalid values.