http://bugs.winehq.org/show_bug.cgi?id=30556
Bug #: 30556 Summary: user32 does not export Get/SetWindowLongPtr Product: Wine Version: unspecified Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: user32 AssignedTo: wine-bugs@winehq.org ReportedBy: jUrner@arcor.de Classification: Unclassified
Created attachment 39968 --> http://bugs.winehq.org/attachment.cgi?id=39968 python script that fails to access the functions
user32 does not export Get/SetWindowLongPtr on wine 32 bit
the following functions are not exported by user32.dll
GetWindowLongPtrA SetWindowLongPtrA GetWindowLongPtrW SetWindowLongPtrW
just took a peek into dlls/user32/user32.spec where these functions are tagged with "-arch=win64". guessing that this is the reason. if so, no idea if this is by intention or not.
wine-1.4
http://bugs.winehq.org/show_bug.cgi?id=30556
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED CC| |focht@gmx.net Version|unspecified |1.5.3 Resolution| |INVALID Summary|user32 does not export |32 bit user32.dll does not |Get/SetWindowLongPtr |export Get/SetWindowLongPtr
--- Comment #1 from Anastasius Focht focht@gmx.net 2012-04-30 06:12:58 CDT --- Hello,
this is by design = exactly what Windows does.
See MSDN: http://msdn.microsoft.com/en-us/library/windows/desktop/ms633585%28v=vs.85%2...
--- quote --- To write code that is compatible with both 32-bit and 64-bit versions of Windows, use GetWindowLongPtr. When compiling for 32-bit Windows, GetWindowLongPtr is defined as a call to the GetWindowLong function. --- quote ---
"defined as a call" means it is mapped to GetWindowLongA/W at compile time (header file -> preprocessor). See comment from "paulbassett13" (8/15/2010).
Wine source: http://source.winehq.org/git/wine.git/blob/4180054c2fcd9b0fca0f3ef32c75af50d...
--- snip ---- 3638 #ifdef _WIN64 3639 WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrA(HWND,INT); 3640 WINUSERAPI LONG_PTR WINAPI GetWindowLongPtrW(HWND,INT); 3641 #else 3642 #define GetWindowLongPtrA GetWindowLongA 3643 #define GetWindowLongPtrW GetWindowLongW 3644 #endif --- snip ----
Regards
http://bugs.winehq.org/show_bug.cgi?id=30556
Frédéric Delanoy frederic.delanoy@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #2 from Frédéric Delanoy frederic.delanoy@gmail.com 2012-04-30 14:54:49 CDT --- Closing INVALID bugs.