SplRegisterControlPanel

This function registers a DLL with the spooler that can display a control panel for printers. By default, all protocol converters will be checked for control panel support, so converters must not register themselves using this API.

Syntax
SplRegisterControlPanel(pszName, pszDllPath, ulFlags, pszReserved, ulVersion);

Parameters

 * pszName (PSZ) - input
 * Name of control panel.


 * This name must not conflict with any installed protocol converter name or control panel name.


 * pszDllPath (PSZ) - input
 * Fully qualified path to the DLL that exports the control panel APIs.


 * ulFlags (ULONG) - input
 * Must be 0 (zero).


 * pszReserved (PSZ) - input
 * Must be NULL.


 * ulVersion (ULONG) - input
 * Must be 0 (zero).

Returns

 * rc (ULONG) - returns : Return codes.
 * 0 Success


 * ERROR_INVALID_LEVEL(124)
 * ulVersion not 0.


 * ERROR_INVALID_NAME(123)
 * pszName is already used by a protocol converter or another control panel DLL.


 * ERROR_INVALID_PARAMETER(87)
 * ulFlags not 0 or invalid parameter given.


 * ERROR_MOD_NOT_FOUND(126)
 * Invalid path to DLL.


 * ERROR_PROC_NOT_FOUND(127)
 * pszDllPath does not export the two APIs for control panels (SplQueryControlPanel and SplDisplayControlPanel).

Sample

 * 1) define INCL_SPL
 * 2) define INCL_SPLBIDI
 * 3) include 

PSZ     pszName;      /*  Name of control panel. */ PSZ     pszDllPath;   /*  Fully qualified path to the DLL that exports the control panel APIs. */ ULONG   ulFlags;      /*  Must be 0 (zero). */ PSZ     pszReserved;  /*  Must be NULL. */ ULONG   ulVersion;    /*  Must be 0 (zero). */ ULONG   rc;           /*  Return codes. */

rc = SplRegisterControlPanel(pszName, pszDllPath,      ulFlags, pszReserved, ulVersion);

Remarks
A control panel need register itself only once; registration is maintained across reboots.