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