The CallWndProc hook procedure is an application-defined or library-defined callback function that the system calls whenever the SendMessage function is called. Before passing the message to the destination window procedure, the system passes the message to the hook procedure. The hook procedure can examine the message; it cannot modify it.
CallWndProc is a placeholder for the application-defined or library-defined function name.
LRESULT CALLBACK CallWndProc(
int nCode, | // hook code |
WPARAM wParam, | // current-process flag |
LPARAM lParam | // address of structure with message data |
); |
Parameters
nCode
Specifies whether the hook procedure must process the message. If nCode is HC_ACTION, the hook procedure must process the message. If nCode is less than zero, the hook procedure must pass the message to the CallNextHookEx function without further processing and should return the value returned by CallNextHookEx.
wParam
Specifies whether the message is sent by the current process. If the message is sent by the current process, it is nonzero; otherwise, it is NULL.
lParam
Pointer to a CWPSTRUCT structure that contains details about the message.
Return Values
The return value should be zero.
Remarks
The CallWndProc hook procedure can examine the message, but it cannot modify it. After the hook procedure returns control to the system, the message is passed to the window procedure.
An application installs the hook procedure by specifying the WH_CALLWNDPROC hook type and the address of the hook procedure in a call to the SetWindowsHookEx function.
The WM_CALLWNDPROC hook is called in the context of the thread that calls SendMessage, not the thread that receives the message.
See Also