8.2.4 The RexxDeregisterSubcom() function This function is used to remove a particular environment from the list of registered environments. The prototype of the function is: APIRET APIENTRY RexxDeregisterSubcom( PSZ EnvName, PSZ ModuleName ) ; Both parameters are input values: [EnvName] Pointer to ASCII NUL terminated string, which represents the name of the environment to be removed. [ModuleName] Also an ASCII NUL terminated string, which points to the name of the module containing the subcommand handler of the environment to be deleted. The list of defined environments is searched, and if an environment matching the one named by the first parameter are found, it is deleted. The returned value from RexxDeregisterSubcom() can be one of: [RXSUBCOM_OK] The subcommand handler was successfully deleted. [RXSUBCOM_NOTREG] The subcommand handler was not found. [RXSUBCOM_BADTYPE] One or more of the parameters had illegal values, and the operation was not carried through. Most systems that do have dynamic linking have no method for reclaiming the space used by dynamically linked routines. So, even if you were able to load a dll, there are no guarantees that you will be able to unload it.