Add functions (mostly undocumented ones) to user32 (7)

The additions were extracted from a .def file produced by gendef on 7 SP1.
Some functions were moved around to preserve alphabetic order.
diff --git a/mingw-w64-crt/lib32/user32.def b/mingw-w64-crt/lib32/user32.def
index 4bdef9e..2b42077 100755
--- a/mingw-w64-crt/lib32/user32.def
+++ b/mingw-w64-crt/lib32/user32.def
@@ -1,6 +1,9 @@
 LIBRARY USER32.dll
 EXPORTS
+;ord_1500@16 @1500
+;ord_1501@4 @1501
 ActivateKeyboardLayout@8
+AddClipboardFormatListener@4
 AdjustWindowRect@12
 AdjustWindowRectEx@16
 AlignRects@16
@@ -24,12 +27,14 @@
 BuildReasonArray@12
 CalcChildScroll@8
 CalcMenuBar@20
+CalculatePopupWindowPosition@20
 CallMsgFilter@8
 CallMsgFilterA@8
 CallMsgFilterW@8
 CallNextHookEx@16
 CallWindowProcA@20
 CallWindowProcW@20
+CancelShutdown@0
 CascadeChildWindows@8
 CascadeWindows@20
 ChangeClipboardChain@8
@@ -39,11 +44,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
@@ -57,10 +71,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,6 +89,8 @@
 CloseTouchInputHandle@4
 CloseWindow@4
 CloseWindowStation@4
+ConsoleControl@12
+ControlMagnification@8
 CopyAcceleratorTableA@12
 CopyAcceleratorTableW@12
 CopyIcon@4
@@ -84,6 +102,8 @@
 CreateCaret@16
 CreateCursor@28
 CreateDesktopA@24
+CreateDesktopExA@32
+CreateDesktopExW@32
 CreateDesktopW@24
 CreateDialogIndirectParamA@20
 CreateDialogIndirectParamAorW@24
@@ -157,7 +177,7 @@
 DestroyMenu@4
 DestroyReasons@4
 DestroyWindow@4
-DeviceEventWorker@20
+DeviceEventWorker@24 ; No documentation whatsoever, ReactOS has a stub with @20 - https://www.reactos.org/archives/public/ros-diffs/2011-February/040308.html
 DialogBoxIndirectParamA@20
 DialogBoxIndirectParamAorW@24
 DialogBoxIndirectParamW@20
@@ -166,6 +186,8 @@
 DisableProcessWindowsGhosting@0
 DispatchMessageA@4
 DispatchMessageW@4
+DisplayConfigGetDeviceInfo@4
+DisplayConfigSetDeviceInfo@4
 DisplayExitWindowsWarnings@4
 DlgDirListA@20
 DlgDirListComboBoxA@20
@@ -175,6 +197,8 @@
 DlgDirSelectComboBoxExW@16
 DlgDirSelectExA@16
 DlgDirSelectExW@16
+DoSoundConnect@0
+DoSoundDisconnect@0
 DragDetect@12
 DragObject@20
 DrawAnimatedRects@16
@@ -195,6 +219,9 @@
 DrawTextExA@24
 DrawTextExW@24
 DrawTextW@20
+DwmGetDxSharedSurface@24
+DwmStartRedirection@4
+DwmStopRedirection@0
 EditWndProc@16
 EmptyClipboard@0
 EnableMenuItem@12
@@ -238,13 +265,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 ; ReactOS has @4 version http://doxygen.reactos.org/d9/d71/undocuser_8h_a9b76cdc68c523a061c86a40367049ed2.html
 GetAsyncKeyState@4
 GetCapture@0
 GetCaretBlinkTime@0
@@ -275,6 +303,7 @@
 GetDCEx@12
 GetDesktopWindow@0
 GetDialogBaseUnits@0
+GetDisplayConfigBufferSizes@12
 GetDlgCtrlID@4
 GetDlgItem@8
 GetDlgItemInt@16
@@ -283,13 +312,16 @@
 GetDoubleClickTime@0
 GetFocus@0
 GetForegroundWindow@0
+GetGUIThreadInfo@8
 GetGestureConfig@24
 GetGestureExtraArgs@12
 GetGestureInfo@8
-GetGUIThreadInfo@8
 GetGuiResources@8
 GetIconInfo@8
+GetIconInfoExA@8
+GetIconInfoExW@8
 GetInputDesktop@0
+GetInputLocaleInfo@8
 GetInputState@0
 GetInternalWindowPos@12
 GetKBCodePage@0
@@ -306,6 +338,9 @@
 GetLastInputInfo@4
 GetLayeredWindowAttributes@16
 GetListBoxInfo@4
+GetMagnificationDesktopColorEffect@4
+GetMagnificationDesktopMagnification@12
+GetMagnificationLensCtxInformation@16
 GetMenu@4
 GetMenuBarInfo@16
 GetMenuCheckMarkDimensions@0
@@ -332,6 +367,7 @@
 GetNextDlgTabItem@12
 GetOpenClipboardWindow@0
 GetParent@4
+GetPhysicalCursorPos@4
 GetPriorityClipboardFormat@8
 GetProcessDefaultLayout@4
 GetProcessWindowStation@0
@@ -351,6 +387,7 @@
 GetScrollInfo@12
 GetScrollPos@8
 GetScrollRange@16
+GetSendMessageReceiver@4
 GetShellWindow@0
 GetSubMenu@8
 GetSysColor@4
@@ -362,20 +399,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
@@ -383,16 +426,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
 ImpersonateDdeClientWindow@8
 InSendMessage@0
 InSendMessageEx@4
@@ -403,6 +449,7 @@
 InsertMenuItemA@16
 InsertMenuItemW@16
 InsertMenuW@20
+InternalGetWindowIcon@8
 InternalGetWindowText@12
 IntersectRect@12
 InvalidateRect@12
@@ -427,14 +474,18 @@
 IsIconic@4
 IsMenu@4
 IsProcess16Bit@0
+IsProcessDPIAware@0
 IsRectEmpty@4
-IsTouchWindow@8
 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
@@ -448,8 +499,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
@@ -468,6 +523,7 @@
 LockWindowStation@4
 LockWindowUpdate@4
 LockWorkStation@0
+LogicalToPhysicalPoint@8
 LookupIconIdFromDirectory@8
 LookupIconIdFromDirectoryEx@20
 MBToWCSEx@24
@@ -498,6 +554,7 @@
 MoveWindow@24
 MsgWaitForMultipleObjects@20
 MsgWaitForMultipleObjectsEx@20
+NotifyOverlayWindow@8
 NotifyWinEvent@16
 OemKeyScan@4
 OemToCharA@8
@@ -510,13 +567,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 +589,9 @@
 PrivateExtractIconsW@32
 PrivateSetDbgTag@8
 PrivateSetRipFlags@8
+PrivateRegisterICSProc@4
 PtInRect@12
+QueryDisplayConfig@24
 QuerySendMessage@4
 QueryUserCounters@20
 RealChildWindowFromPoint@12
@@ -548,21 +610,27 @@
 RegisterClipboardFormatW@4
 RegisterDeviceNotificationA@12
 RegisterDeviceNotificationW@12
+RegisterErrorReportingDialog@8
+RegisterFrostWindow@8
+RegisterGhostWindow@8
 RegisterHotKey@16
 RegisterPowerSettingNotification@12
 RegisterLogonProcess@8
 RegisterMessagePumpHook@4
+RegisterPowerSettingNotification@12
 RegisterRawInputDevices@12
-RegisterTouchWindow@8
 RegisterServicesProcess@4
+RegisterSessionPort@8
 RegisterShellHookWindow@4
 RegisterSystemThread@8
 RegisterTasklist@4
+RegisterTouchWindow@8
 RegisterUserApiHook@4 ; Prototype changed in 2003 - https://www.reactos.org/wiki/Techwiki:RegisterUserApiHook
 RegisterWindowMessageA@4
 RegisterWindowMessageW@4
 ReleaseCapture@0
 ReleaseDC@8
+RemoveClipboardFormatListener@4
 RemoveMenu@12
 RemovePropA@8
 RemovePropW@8
@@ -600,6 +668,7 @@
 SetCursorPos@8
 SetDebugErrorLevel@4
 SetDeskWallpaper@4
+SetDisplayConfig@20
 SetDlgItemInt@16
 SetDlgItemTextA@12
 SetDlgItemTextW@12
@@ -612,6 +681,9 @@
 SetLastErrorEx@8
 SetLayeredWindowAttributes@16
 SetLogonNotifyWindow@4
+SetMagnificationDesktopColorEffect@4
+SetMagnificationDesktopMagnification@16
+SetMagnificationLensCtxInformation@16
 SetMenu@8
 SetMenuContextHelpId@8
 SetMenuDefaultItem@12
@@ -621,7 +693,10 @@
 SetMenuItemInfoW@16
 SetMessageExtraInfo@4
 SetMessageQueue@4
+SetMirrorRendering@8
 SetParent@8
+SetPhysicalCursorPos@8
+SetProcessDPIAware@0
 SetProcessDefaultLayout@4
 SetProcessWindowStation@4
 SetProgmanWindow@4
@@ -646,12 +721,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
@@ -660,17 +738,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
@@ -702,14 +794,16 @@
 UnregisterClassW@8
 UnregisterDeviceNotification@4
 UnregisterHotKey@8
-UnregisterPowerSettingNotification@4
-UnregisterTouchWindow@4
 UnregisterMessagePumpHook@0
+UnregisterPowerSettingNotification@4
+UnregisterSessionPort@0
+UnregisterTouchWindow@4
 UnregisterUserApiHook@0
 UpdateLayeredWindow@36
 UpdateLayeredWindowIndirect@8
-UpdatePerUserSystemParameters@8
+UpdatePerUserSystemParameters@4 ; Undocumented, seems to apply certain registry settings to desktop, etc. ReactOS has @8 version - http://doxygen.reactos.org/d0/d92/win32ss_2user_2user32_2misc_2misc_8c_a1ff565f0af6bac6dce604f9f4473fe79.html ;  @4 is rumored to be without the first DWORD
 UpdateWindow@4
+UpdateWindowTransform@12
 User32InitializeImmEntryTable@4
 UserClientDllInitialize@12
 UserHandleGrantAccess@12
@@ -733,10 +827,17 @@
 WinHelpA@16
 WinHelpW@16
 WindowFromDC@4
+WindowFromPhysicalPoint@8
 WindowFromPoint@8
+_UserTestTokenForInteractive@8
+gSharedInfo DATA
+gapfnScSendMessage DATA
 keybd_event@16
 mouse_event@20
 wsprintfA
 wsprintfW
 wvsprintfA@12
 wvsprintfW@12
+;ord_2500@16 @2500
+;ord_2501@12 @2501
+;ord_2502@8 @2502