CPL_INQUIRE
The
CPL_INQUIRE message is sent to the CPlApplet1P4ANS3 function of a Control Panel application
to request information about a dialog box that the application supports.
CPL_INQUIRE
uAppNum = (UINT) lParam1; // application number
lpcpli = (LPCPLINFO) lParam2; // structure for
application info.
Parameters
uAppNum
Value of lParam1.
Specifies the dialog box number. This number must be in the range zero through
one less than the value returned in response to the CPL_GETCOUNT message (CPL_GETCOUNT - 1).
lpcpli
Value of lParam2.
Points to a CPLINFO
structure. The application must fill this structure with resource identifiers
for the icon, short name, description, and any user-defined value associated with
the dialog box.
Return Values
If the CPlApplet
function processes this message successfully, it should return zero.
Remarks
The Control
Panel sends the CPL_INQUIRE message once for each dialog box supported by your
application. The Control Panel also sends a CPL_NEWINQUIRE message for each dialog box.
These messages are sent immediately after the CPL_GETCOUNT message. However, the system
does not guarantee the order in which the CPL_INQUIRE and CPL_NEWINQUIRE
messages are sent.
You can perform
initialization for the dialog box when you receive CPL_INQUIRE. If you must
allocate memory, do so in response to the CPL_INIT message.
On Windows 95
and Windows NT version 4.0, the system caches the information returned in the CPLINFO structure used by
CPL_INQUIRE. This provides significantly better performance because the system
only needs to load your application the first time the Control Panel starts up.
On the other hand, the CPL_NEWINQUIRE message returns information in a form
that the system cannot cache. For this reason, most CPlApplet functions
should process CPL_INQUIRE and ignore CPL_NEWINQUIRE.
The only
applications that should use CPL_NEWINQUIRE are those that need to change their
icon or display strings based on the state of the computer. In this case, your
CPL_INQUIRE handler should specify the CPL_DYNAMIC_RES value for the idIcon,
idName, or idInfo members of the CPLINFO structure, rather
than specifying a valid resource identifier. This causes the Control Panel to
send the CPL_NEWINQUIRE message each time it needs the icon and display
strings, allowing you to specify information based on the current state of the
computer. Of course, this is significantly slower than using cached
information.
See Also