To get a trial key
fill out the form below
Team license
Enterprise license
** By clicking this button you agree to our Privacy Policy statement

Request our prices
New License
License Renewal
--Select currency--
USD
EUR
* By clicking this button you agree to our Privacy Policy statement

Free PVS-Studio license for Microsoft MVP specialists
** By clicking this button you agree to our Privacy Policy statement

To get the licence for your open-source project, please fill out this form
** By clicking this button you agree to our Privacy Policy statement

I am interested to try it on the platforms:
** By clicking this button you agree to our Privacy Policy statement

Message submitted.

Your message has been sent. We will email you at


If you haven't received our response, please do the following:
check your Spam/Junk folder and click the "Not Spam" button for our message.
This way, you won't miss messages from our team in the future.

>
>
>
Confusion of WPARAM with UINT, and LPAR…

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.

Comments (0)

Next comments
Unicorn with delicious cookie
Our website uses cookies to enhance your browsing experience.
Accept