>> Somehow I would've thought it wouldn't be too difficult for microsoft to keep versions of their libs in 64bit windows <<
The warnings are designed to warn you about problems that may occur when the code is compiled for 64 bit. Even if you don't want a 64 bit version now, you don't want to have to rewrite your code in six months when you decide you do need a 64 bit version.
>> Well anyway, I switched which functions I was using but the warnings didn't go away. <<
Unfortunately, due to the fact that the warning system operates on the code after it has been preprocessed and that GetWindowLongPtr is defined something like:
Code:
#if defined(_WIN32)
#define GetWindowLongPtr GetWindowLong
#elif defined(_WIN64)
LONG_PTR GetWindowLongPtr(HWND, int);
#endif
you will get the warning even if you use GetWindowLongPtr(). You can either turn off 64bit warnings or just turn it off for this function (possibly):
Code:
#pragma warning(disable : 4312)
MYSTRUCT * dvp = (MYSTRUCT *) GetWindowLong(hWnd, GWL_USERDATA);
#pragma warning(default : 4312)