Make your own free website on Tripod.com
8.3.3 The RexxRegisterFunctionDll() function

This function is used to set up an external function handler that
is located in a module in a dynamic link library. Some operating
systems don't have dynamic linking, and thus cannot make use of
this facility. The prototype of this function is:

     APIRET APIENTRY RexxRegisterFunctionDll(
           PSZ ExternalName,
           PSZ LibraryName,
           PSZ InternalName
     ) ;
     
All the parameters are input, and their significance are:

     [ExternalName]
          Points to an ASCII NUL terminated character string which
          defines the name of the external function to be
          registered. This is the same name as the REXX
          interpreter uses with a function call or via  the CALL
          command.
     [LibraryName]
          Points to an ASCII NUL terminated character string which
          defines the name of the dynamic library.  This string
          may require a directory specification.
     [InternalName]
          Points to an ASCII NUL terminated character string which
          defines the name of the entrypoint within the dynamic
          library.  On systems where the case of function names in
          dynamic libraries is relevant, this name must be
          specified in the same case as the function name within
          the dynamic library.
          
The areas pointed to by all parameters 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 RexxRegisterFunctionDll() returns an unsigned long, which
carries status information describing the outcome of the
operation. The status will be one of the RXFUNC values:

     [ RXFUNC_OK]
          The handler was successfully registered.
     [RXFUNC_DUP]
          The  handler was successfully registered. There already
          existed another external function handler which was
          registered with RexxRegisterFunctionDll(), but this will
          be shadowed by the newly registered handler.
     [RXFUNC_NOEMEM]
          The handler was not registered, due to lack of memory.



PREV NEXT