The address pointed to by the pointer to be created.
The type of the object pointed to by the pointer to be created.
The type of the pointer to be made.
A string or a symbol.
If type or pointer-type are not specified, then functionp can be used.
A symbol or string naming a module, or
symbol-name is either a string containing the name of a foreign symbol defined in a DLL, or a string or symbol naming a foreign callable defined by define-foreign-callable.
encoding controls how symbol-name is processed. The values are interpreted like the encode argument of define-foreign-callable. The default value of encoding is
:source if symbol-name is a string and
:lisp if symbol-name is a symbol.
In the case of a pointer to a foreign callable or foreign function, the module keyword can be used to ensure that the pointer points to the function in the correct DLL if there are other DLLs containing functions with the same name. module is processed as by define-foreign-function.
(fli:register-module :user-dll :real-name "user32")
LispWorks Foreign Language Interface User Guide and Reference Manual - 29 Sep 2017