Application Entry-Point Function
Every Control Panel application must export the standard entry-point function, CPlApplet. This function receives requests, in the form of Control Panel (CPL) messages, and carries out the requested work, such as initializing the application, displaying and managing the dialog box(es), and closing the application.
When the controlling application first loads the Control Panel application, it retrieves the address of the CPlApplet function and subsequently uses the address to call the function and pass it messages. The controlling application may send the following messages:
Message | Description |
CPL_DBLCLK | Sent to notify CPlApplet that the user has chosen the icon associated with a given dialog box. CPlApplet should display the corresponding dialog box and carry out any user-specified tasks. |
CPL_EXIT | Sent after the last CPL_STOP message and immediately before the controlling application uses the FreeLibrary function to free the DLL containing the Control Panel application. CPlApplet should free any remaining memory and prepare to close. |
CPL_GETCOUNT | Sent after the CPL_INIT message to prompt CPlApplet to return a number indicating how many dialog boxes it supports. |
CPL_INIT | Sent immediately after the DLL containing the Control Panel application is loaded, to prompt CPlApplet to perform initialization procedures, including memory allocation. |
CPL_INQUIRE | Sent after the CPL_GETCOUNT message, to prompt CPlApplet to provide information about a specified dialog box. The lParam2 parameter of CPlApplet points to a CPLINFO structure. |
CPL_NEWINQUIRE | Sent after the CPL_GETCOUNT message, to prompt CPlApplet to provide information about a specified dialog box. The lParam2 parameter is a pointer to a NEWCPLINFO structure. For better performance on Windows 95 and Windows NT version 4.0, your application should process CPL_INQUIRE and not CPL_NEWINQUIRE. |
CPL_SELECT | This message is obsolete. Current versions of Windows do not send this message. |
CPL_STOP | Sent once for each dialog box before the controlling application closes. CPlApplet should free any memory associated with the given dialog box. |