The FFDLLinit entry point, if defined in your DLL, can be used to perform DLL initialization even if you do not require the information passed to it (number of lines and function pointers). You may also define a function FFDLLexit which will be called before your DLL is unloaded on shutdown. The definition for this function is:

typedef int (*FFCB_DE)(); /* dll exit */

The functions are called (both by the same thread) after loading and before unloading your DLL. If you set the 'support COM in DLL' option on the COPIAFACTS options page, then CoInitializeEx and CoUninitialize will be called for this thread. This will be needed if your DLL calls COM objects. The option is set automatically if you are also using the CF8DATABASE or CF8MSMQ system DLLs in the same node.

You should use the FFDLLinit and FFDLLexit entry points if your DLL must itself load other DLLs either directly or indirectly, since Windows does not allow this to be done from inside a DLL main function.