On 25.04.2015 10:04, Kai Tietz wrote:
> 2015-04-25 6:41 GMT+02:00 LRN wrote:
>> On 24.04.2015 3:00, LRN wrote:
>>> We have the prototype in the header (guarded as Vista-or-later), but no 
>>> stub in
>>> the import library. I don't know how to fix that (.def files for implibs 
>>> seem
>>> to be special somehow).
>>>
>>> https://msdn.microsoft.com/en-us/library/windows/desktop/ms649033%28v=vs.85%29.aspx
>>>
>> Figured it out, here's a patch
>>
> your patch is fine beside some nits.  Why are you removing
> function-entries like GetGUIThreadInfo@8, 
Not removing, just moving it up 4 lines (gendef sorts symbols alphabetically,
apparently)
> SetSystemTimer@16,
gendef says this function is absent in my version of user32.dll
> ChangeDisplaySettingsW@8,
Not removing, just moving
> EditWndProc@16
A bug in gendef, i'll commit later with EditWndProc restored to its rightful
place, and with @16 instead of @20.

Also note that between Windows 2003 (the oldest version i can readily access)
and Windows 7 some interesting changes (according to gendef) happened to
user32.dll. I've attached the diff. Some highlights:

-CreateSystemThreads@16
+CreateSystemThreads ; Check!!! Couldn't determine function argument count.
Function doesn't return.

(in my patch i've made it CreateSystemThreads@28, but i was either wrong, or
the function acquired extra arguments).

-DeviceEventWorker@20
+DeviceEventWorker@24
-GetAppCompatFlags@4
+GetAppCompatFlags@8

Acquired an extra argument?

-InitializeWin32EntryTable@4
-SetConsoleReserveKeys@8
-IsProcess16Bit@0
-KillSystemTimer@8
-SetLogonNotifyWindow@4
-SetSystemTimer@16
-Win32PoolAllocationStats@24

Functions disappeared.

-UpdatePerUserSystemParameters@8
+UpdatePerUserSystemParameters@4

Lost an argument? Or a gendef bug?

-- 
O< ascii ribbon - stop html email! - www.asciiribbon.org

--- "defs_2003\\user32.dll.def"	2015-04-25 08:47:24.890625000 +0300
+++ "defs_7\\user32.dll.def"	2015-04-25 09:00:21.129158700 +0300
@@ -5,7 +5,10 @@
 ;
 LIBRARY "USER32.dll"
 EXPORTS
+ord_1500@16 @1500
+ord_1501@4 @1501
 ActivateKeyboardLayout@8
+AddClipboardFormatListener@4
 AdjustWindowRect@12
 AdjustWindowRectEx@16
 AlignRects@16
@@ -28,12 +31,14 @@
 BroadcastSystemMessageW@20
 BuildReasonArray@12
 CalcMenuBar@20
+CalculatePopupWindowPosition@20
 CallMsgFilter@8
 CallMsgFilterA@8
 CallMsgFilterW@8
 CallNextHookEx@16
 CallWindowProcA@20
 CallWindowProcW@20
+CancelShutdown@0
 CascadeChildWindows@8
 CascadeWindows@20
 ChangeClipboardChain@8
@@ -43,11 +48,20 @@
 ChangeDisplaySettingsW@8
 ChangeMenuA@20
 ChangeMenuW@20
+ChangeWindowMessageFilter@8
+ChangeWindowMessageFilterEx@16
 CharLowerA@4
 CharLowerBuffA@8
 CharLowerBuffW@8
 CharLowerW@4
 CharNextA@4
+ord_1550@12 @1550
+ord_1551@8 @1551
+ord_1552@8 @1552
+ord_1553@12 @1553
+ord_1554@8 @1554
+ord_1555@16 @1555
+ord_1556@4 @1556
 CharNextExA@12
 CharNextW@4
 CharPrevA@8
@@ -61,10 +75,12 @@
 CharUpperBuffA@8
 CharUpperBuffW@8
 CharUpperW@4
+CheckDesktopByThreadId@4
 CheckDlgButton@12
 CheckMenuItem@12
 CheckMenuRadioItem@20
 CheckRadioButton@16
+CheckWindowThreadDesktop@8
 ChildWindowFromPoint@12
 ChildWindowFromPointEx@16
 CliImmSetHotKey@16
@@ -73,8 +89,12 @@
 ClipCursor@4
 CloseClipboard@0
 CloseDesktop@4
+CloseGestureInfoHandle@4
+CloseTouchInputHandle@4
 CloseWindow@4
 CloseWindowStation@4
+ConsoleControl@12
+ControlMagnification@8
 CopyAcceleratorTableA@12
 CopyAcceleratorTableW@12
 CopyIcon@4
@@ -86,6 +106,8 @@
 CreateCaret@16
 CreateCursor@28
 CreateDesktopA@24
+CreateDesktopExA@32
+CreateDesktopExW@32
 CreateDesktopW@24
 CreateDialogIndirectParamA@20
 CreateDialogIndirectParamAorW@24
@@ -100,7 +122,7 @@
 CreateMDIWindowW@40
 CreateMenu@0
 CreatePopupMenu@0
-CreateSystemThreads@16
+CreateSystemThreads ; Check!!! Couldn't determine function argument count. Function doesn't return. 
 CreateWindowExA@48
 CreateWindowExW@48
 CreateWindowStationA@16
@@ -140,15 +162,15 @@
 DdeSetUserHandle@12
 DdeUnaccessData@4
 DdeUninitialize@4
-DefDlgProcA@16
-DefDlgProcW@16
+DefDlgProcA = NTDLL.NtdllDialogWndProc_A ; Check!!! forwards to NTDLL.NtdllDialogWndProc_A
+DefDlgProcW = NTDLL.NtdllDialogWndProc_W ; Check!!! forwards to NTDLL.NtdllDialogWndProc_W
 DefFrameProcA@20
 DefFrameProcW@20
 DefMDIChildProcA@16
 DefMDIChildProcW@16
 DefRawInputProc@12
-DefWindowProcA@16
-DefWindowProcW@16
+DefWindowProcA = NTDLL.NtdllDefWindowProc_A ; Check!!! forwards to NTDLL.NtdllDefWindowProc_A
+DefWindowProcW = NTDLL.NtdllDefWindowProc_W ; Check!!! forwards to NTDLL.NtdllDefWindowProc_W
 DeferWindowPos@32
 DeleteMenu@12
 DeregisterShellHookWindow@4
@@ -159,7 +181,7 @@
 DestroyMenu@4
 DestroyReasons@4
 DestroyWindow@4
-DeviceEventWorker@20
+DeviceEventWorker@24
 DialogBoxIndirectParamA@20
 DialogBoxIndirectParamAorW@24
 DialogBoxIndirectParamW@20
@@ -168,6 +190,8 @@
 DisableProcessWindowsGhosting@0
 DispatchMessageA@4
 DispatchMessageW@4
+DisplayConfigGetDeviceInfo@4
+DisplayConfigSetDeviceInfo@4
 DisplayExitWindowsWarnings@4
 DlgDirListA@20
 DlgDirListComboBoxA@20
@@ -177,6 +201,8 @@
 DlgDirSelectComboBoxExW@16
 DlgDirSelectExA@16
 DlgDirSelectExW@16
+DoSoundConnect@0
+DoSoundDisconnect@0
 DragDetect@12
 DragObject@20
 DrawAnimatedRects@16
@@ -197,7 +223,10 @@
 DrawTextExA@24
 DrawTextExW@24
 DrawTextW@20
-EditWndProc@16
+DwmGetDxSharedSurface@24
+DwmStartRedirection@4
+DwmStopRedirection@0
+EditWndProc@20
 EmptyClipboard@0
 EnableMenuItem@12
 EnableScrollBar@12
@@ -240,13 +269,14 @@
 FlashWindowEx@4
 FrameRect@12
 FreeDDElParam@8
+FrostCrashedWindow@8
 GetActiveWindow@0
 GetAltTabInfo@20
 GetAltTabInfoA@20
 GetAltTabInfoW@20
 GetAncestor@8
 GetAppCompatFlags2@4
-GetAppCompatFlags@4
+GetAppCompatFlags@8
 GetAsyncKeyState@4
 GetCapture@0
 GetCaretBlinkTime@0
@@ -277,6 +307,7 @@
 GetDCEx@12
 GetDesktopWindow@0
 GetDialogBaseUnits@0
+GetDisplayConfigBufferSizes@12
 GetDlgCtrlID@4
 GetDlgItem@8
 GetDlgItemInt@16
@@ -286,12 +317,18 @@
 GetFocus@0
 GetForegroundWindow@0
 GetGUIThreadInfo@8
+GetGestureConfig@24
+GetGestureExtraArgs@12
+GetGestureInfo@8
 GetGuiResources@8
 GetIconInfo@8
+GetIconInfoExA@8
+GetIconInfoExW@8
 GetInputDesktop@0
+GetInputLocaleInfo@8
 GetInputState@0
 GetInternalWindowPos@12
-GetKBCodePage ; Check!!! forwards to GetOEMCP in KERNEL32.dll (ordinal 403)
+GetKBCodePage ; Check!!! forwards to GetOEMCP in KERNEL32.dll (ordinal 564)
 GetKeyNameTextA@12
 GetKeyNameTextW@12
 GetKeyState@4
@@ -305,6 +342,9 @@
 GetLastInputInfo@4
 GetLayeredWindowAttributes@16
 GetListBoxInfo@4
+GetMagnificationDesktopColorEffect@4
+GetMagnificationDesktopMagnification@12
+GetMagnificationLensCtxInformation@16
 GetMenu@4
 GetMenuBarInfo@16
 GetMenuCheckMarkDimensions@0
@@ -331,6 +371,7 @@
 GetNextDlgTabItem@12
 GetOpenClipboardWindow@0
 GetParent@4
+GetPhysicalCursorPos@4
 GetPriorityClipboardFormat@8
 GetProcessDefaultLayout@4
 GetProcessWindowStation@0
@@ -349,6 +390,7 @@
 GetScrollInfo@12
 GetScrollPos@8
 GetScrollRange@16
+GetSendMessageReceiver@4
 GetShellWindow@0
 GetSubMenu@8
 GetSysColor@4
@@ -360,19 +402,26 @@
 GetTaskmanWindow@0
 GetThreadDesktop@4
 GetTitleBarInfo@8
+GetTopLevelWindow@4
 GetTopWindow@4
+GetTouchInputInfo@16
 GetUpdateRect@12
 GetUpdateRgn@12
+GetUpdatedClipboardFormats@12
 GetUserObjectInformationA@20
 GetUserObjectInformationW@20
 GetUserObjectSecurity@20
 GetWinStationInfo@4
 GetWindow@8
+GetWindowCompositionAttribute@8
+GetWindowCompositionInfo@8
 GetWindowContextHelpId@4
 GetWindowDC@4
+GetWindowDisplayAffinity@8
 GetWindowInfo@8
 GetWindowLongA@8
 GetWindowLongW@8
+GetWindowMinimizeRect@8
 GetWindowModuleFileName@12
 GetWindowModuleFileNameA@12
 GetWindowModuleFileNameW@12
@@ -380,16 +429,19 @@
 GetWindowRect@8
 GetWindowRgn@8
 GetWindowRgnBox@8
+GetWindowRgnEx@12
 GetWindowTextA@12
 GetWindowTextLengthA@4
 GetWindowTextLengthW@4
 GetWindowTextW@12
 GetWindowThreadProcessId@8
 GetWindowWord@8
+GhostWindowFromHungWindow@4
 GrayStringA@36
 GrayStringW@36
 HideCaret@4
 HiliteMenuItem@16
+HungWindowFromGhostWindow@4
 IMPGetIMEA ; Check!!! Couldn't determine function argument count. Function doesn't return. 
 IMPGetIMEW ; Check!!! Couldn't determine function argument count. Function doesn't return. 
 IMPQueryIMEA ; Check!!! Couldn't determine function argument count. Function doesn't return. 
@@ -401,11 +453,11 @@
 InSendMessageEx@4
 InflateRect@12
 InitializeLpkHooks@4
-InitializeWin32EntryTable@4
 InsertMenuA@20
 InsertMenuItemA@16
 InsertMenuItemW@16
 InsertMenuW@20
+InternalGetWindowIcon@8
 InternalGetWindowText@12
 IntersectRect@12
 InvalidateRect@12
@@ -429,19 +481,22 @@
 IsHungAppWindow@4
 IsIconic@4
 IsMenu@4
-IsProcess16Bit@0
+IsProcessDPIAware@0
 IsRectEmpty@4
 IsSETEnabled@0
 IsServerSideWindow@4
+IsThreadDesktopComposited@0
+IsTopLevelWindow@4
+IsTouchWindow@8
 IsWinEventHookInstalled@4
 IsWindow@4
 IsWindowEnabled@4
 IsWindowInDestroy@4
+IsWindowRedirectedForPrint@4
 IsWindowUnicode@4
 IsWindowVisible@4
 IsWow64Message@0
 IsZoomed@4
-KillSystemTimer@8
 KillTimer@8
 LoadAcceleratorsA@8
 LoadAcceleratorsW@8
@@ -450,8 +505,12 @@
 LoadCursorA@8
 LoadCursorFromFileA@4
 LoadCursorFromFileW@4
+ord_2000@0 @2000
+ord_2001@4 @2001
+ord_2002@4 @2002
 LoadCursorW@8
 LoadIconA@8
+ord_2005@4 @2005
 LoadIconW@8
 LoadImageA@24
 LoadImageW@24
@@ -470,6 +529,7 @@
 LockWindowStation@4
 LockWindowUpdate@4
 LockWorkStation@0
+LogicalToPhysicalPoint@8
 LookupIconIdFromDirectory@8
 LookupIconIdFromDirectoryEx@20
 MBToWCSEx@24
@@ -500,6 +560,7 @@
 MoveWindow@24
 MsgWaitForMultipleObjects@20
 MsgWaitForMultipleObjectsEx@20
+NotifyOverlayWindow@8
 NotifyWinEvent@16
 OemKeyScan@4
 OemToCharA@8
@@ -512,13 +573,16 @@
 OpenDesktopW@16
 OpenIcon@4
 OpenInputDesktop@12
+OpenThreadDesktop@16
 OpenWindowStationA@12
 OpenWindowStationW@12
 PackDDElParam@12
 PaintDesktop@4
 PaintMenuBar@24
+PaintMonitor@12
 PeekMessageA@20
 PeekMessageW@20
+PhysicalToLogicalPoint@8
 PostMessageA@16
 PostMessageW@16
 PostQuitMessage@4
@@ -529,7 +593,9 @@
 PrivateExtractIconExW@20
 PrivateExtractIconsA@32
 PrivateExtractIconsW@32
+PrivateRegisterICSProc@4
 PtInRect@12
+QueryDisplayConfig@24
 QuerySendMessage@4
 RealChildWindowFromPoint@12
 RealGetWindowClass@12
@@ -547,19 +613,26 @@
 RegisterClipboardFormatW@4
 RegisterDeviceNotificationA@12
 RegisterDeviceNotificationW@12
+RegisterErrorReportingDialog@8
+RegisterFrostWindow@8
+RegisterGhostWindow@8
 RegisterHotKey@16
 RegisterLogonProcess@8
 RegisterMessagePumpHook@4
+RegisterPowerSettingNotification@12
 RegisterRawInputDevices@12
 RegisterServicesProcess@4
+RegisterSessionPort@8
 RegisterShellHookWindow@4
 RegisterSystemThread@8
 RegisterTasklist@4
+RegisterTouchWindow@8
 RegisterUserApiHook@4
 RegisterWindowMessageA@4
 RegisterWindowMessageW@4
 ReleaseCapture@0
 ReleaseDC@8
+RemoveClipboardFormatListener@4
 RemoveMenu@12
 RemovePropA@8
 RemovePropW@8
@@ -593,23 +666,26 @@
 SetClassWord@12
 SetClipboardData@8
 SetClipboardViewer@4
-SetConsoleReserveKeys@8
 SetCursor@4
 SetCursorContents@8
 SetCursorPos@8
 SetDebugErrorLevel@4
 SetDeskWallpaper@4
+SetDisplayConfig@20
 SetDlgItemInt@16
 SetDlgItemTextA@12
 SetDlgItemTextW@12
 SetDoubleClickTime@4
 SetFocus@4
 SetForegroundWindow@4
+SetGestureConfig@20
 SetInternalWindowPos@16
 SetKeyboardState@4
 SetLastErrorEx@8
 SetLayeredWindowAttributes@16
-SetLogonNotifyWindow@4
+SetMagnificationDesktopColorEffect@4
+SetMagnificationDesktopMagnification@16
+SetMagnificationLensCtxInformation@16
 SetMenu@8
 SetMenuContextHelpId@8
 SetMenuDefaultItem@12
@@ -619,7 +695,10 @@
 SetMenuItemInfoW@16
 SetMessageExtraInfo@4
 SetMessageQueue@4
+SetMirrorRendering@8
 SetParent@8
+SetPhysicalCursorPos@8
+SetProcessDPIAware@0
 SetProcessDefaultLayout@4
 SetProcessWindowStation@4
 SetProgmanWindow@4
@@ -636,7 +715,6 @@
 SetSysColorsTemp@12
 SetSystemCursor@8
 SetSystemMenu@8
-SetSystemTimer@16
 SetTaskmanWindow@4
 SetThreadDesktop@4
 SetTimer@16
@@ -644,12 +722,15 @@
 SetUserObjectInformationW@16
 SetUserObjectSecurity@12
 SetWinEventHook@28
+SetWindowCompositionAttribute@8
 SetWindowContextHelpId@8
+SetWindowDisplayAffinity@8
 SetWindowLongA@12
 SetWindowLongW@12
 SetWindowPlacement@8
 SetWindowPos@28
 SetWindowRgn@12
+SetWindowRgnEx@12
 SetWindowStationUser@16
 SetWindowTextA@8
 SetWindowTextW@8
@@ -658,17 +739,31 @@
 SetWindowsHookExA@16
 SetWindowsHookExW@16
 SetWindowsHookW@8
+SfmDxBindSwapChain@12
+SfmDxGetSwapChainStats@8
+SfmDxOpenSwapChain@16
+SfmDxQuerySwapChainBindingStatus@12
+SfmDxReleaseSwapChain@8
+SfmDxReportPendingBindingsToDwm@0
+SfmDxSetSwapChainBindingStatus@8
+SfmDxSetSwapChainStats@8
 ShowCaret@4
 ShowCursor@4
 ShowOwnedPopups@8
 ShowScrollBar@12
 ShowStartGlass@4
+ShowSystemCursor@4
 ShowWindow@8
 ShowWindowAsync@8
+ShutdownBlockReasonCreate@8
+ShutdownBlockReasonDestroy@4
+ShutdownBlockReasonQuery@12
 SoftModalMessageBox@4
+SoundSentry@0
 SubtractRect@12
 SwapMouseButton@4
 SwitchDesktop@4
+SwitchDesktopWithFade@8
 SwitchToThisWindow@8
 SystemParametersInfoA@16
 SystemParametersInfoW@16
@@ -701,11 +796,15 @@
 UnregisterDeviceNotification@4
 UnregisterHotKey@8
 UnregisterMessagePumpHook@0
+UnregisterPowerSettingNotification@4
+UnregisterSessionPort@0
+UnregisterTouchWindow@4
 UnregisterUserApiHook@0
 UpdateLayeredWindow@36
 UpdateLayeredWindowIndirect@8
-UpdatePerUserSystemParameters@8
+UpdatePerUserSystemParameters@4
 UpdateWindow@4
+UpdateWindowTransform@12
 User32InitializeImmEntryTable@4
 UserClientDllInitialize@12
 UserHandleGrantAccess@12
@@ -713,6 +812,8 @@
 UserLpkTabbedTextOut@48
 UserRealizePalette@4
 UserRegisterWowHandlers@8
+VRipOutput@0
+VTagOutput@0
 ValidateRect@8
 ValidateRgn@8
 VkKeyScanA@4
@@ -725,14 +826,20 @@
 WINNLSGetIMEHotkey@4
 WaitForInputIdle@8
 WaitMessage@0
-Win32PoolAllocationStats@24
 WinHelpA@16
 WinHelpW@16
 WindowFromDC@4
+WindowFromPhysicalPoint@8
 WindowFromPoint@8
+_UserTestTokenForInteractive@8
+gSharedInfo DATA
+gapfnScSendMessage DATA
 keybd_event@16
 mouse_event@20
 wsprintfA@0
 wsprintfW@0
 wvsprintfA@12
 wvsprintfW@12
+ord_2500@16 @2500
+ord_2501@12 @2501
+ord_2502@8 @2502

Attachment: 0x922360B0.asc
Description: application/pgp-keys

Attachment: signature.asc
Description: OpenPGP digital signature

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to