Pointer to a window procedure.
This is the standard function definition for window procedures.
typedef FNWP *PFNWP;
The first argument (HWND) is the handle of the window receiving the message. The second argument (ULONG) is a message identifier. The third argument (MPARAM) is the first message parameter (mp1). The fourth argument (MPARAM) is the second message parameter (mp2). The function returns an MRESULT. Each message has a specific set of possible return codes. The window procedure must return a value that is appropriate for the message being processed.
In the header file, this is a two-part definition as shown below:
typedef MRESULT (EXPENTRY FNWP)(HWND, ULONG, MPARAM, MPARAM); typedef FNWP *PFNWP;
Window procedures must be EXPORTED in the definitions file used by the linker.