Our website uses cookies to enhance your browsing experience.
Accept
to the top
>
>
>
Confusion of WPARAM with UINT, and...

Confusion of WPARAM with UINT, and LPARAM with LONG

Jan 23 2012
Author:

A great deal of compilation errors occurring when trying to recompile a 32-bit Windows application for 64-bit systems is related to inccorect function arguments. You may often see that in user code UINT and LONG types are used instead of WPARAM and LPARAM as function arguments.

Here is an example:

//Function definition in the class
virtual LRESULT OnTrayNotification(WPARAM uID, LPARAM lEvent);
//Function implementation
LRESULT CSystemTray::OnTrayNotification(UINT wParam, LONG lParam)

In Win32 the type WPARAM coincides with UINT and LPARAM coincides with LONG. In Win64 these are different types, so you must correct the code. See also the post "A common error occurring when compiling a 64-bit application: error C2440, OnTimer" on this topic.

Popular related articles


Comments (0)

Next comments next comments
close comment form