On 25.04.2015 11:23, LRN wrote:
> 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?
> 

Found an old XP SP3 VM, here are the changes between XP SP3 and 2003 (2003 SP2,
actually, that's the machine i mentioned earlier). Highlights:

-CreateSystemThreads@8
+CreateSystemThreads@16

Definitely something changing here between versions!

+IsProcess16Bit@0

So this is a 2003-only function?

-PrivateSetDbgTag@8
-PrivateSetRipFlags@8
-QueryUserCounters@20

QueryUserCounters is mentioned here[1]

-RegisterUserApiHook@8
+RegisterUserApiHook@4

Puzzling.

-VRipOutput@0
-VTagOutput@0

So these mysterious functions didn't make it into Server 2003, but 7 has them?
Weird.

What do we do with all these functions? Keep all? What about functions that
change their arguments? Not to mention that we probably have no prototypes for
them (any of them; though i didn't check) in our headers.

[1] http://www.oocities.org/the_real_sz/misc/bear_.htm

-- 
O< ascii ribbon - stop html email! - www.asciiribbon.org
--- "defs_xpsp3\\user32.dll.def"	2015-04-25 11:36:29.501740000 +0300
+++ "defs_2003\\user32.dll.def"	2015-04-25 08:47:24.890625000 +0300
@@ -100,7 +100,7 @@
 CreateMDIWindowW@40
 CreateMenu@0
 CreatePopupMenu@0
-CreateSystemThreads@8
+CreateSystemThreads@16
 CreateWindowExA@48
 CreateWindowExW@48
 CreateWindowStationA@16
@@ -291,7 +291,7 @@
 GetInputDesktop@0
 GetInputState@0
 GetInternalWindowPos@12
-GetKBCodePage ; Check!!! forwards to GetOEMCP in KERNEL32.dll (ordinal 395)
+GetKBCodePage ; Check!!! forwards to GetOEMCP in KERNEL32.dll (ordinal 403)
 GetKeyNameTextA@12
 GetKeyNameTextW@12
 GetKeyState@4
@@ -429,7 +429,9 @@
 IsHungAppWindow@4
 IsIconic@4
 IsMenu@4
+IsProcess16Bit@0
 IsRectEmpty@4
+IsSETEnabled@0
 IsServerSideWindow@4
 IsWinEventHookInstalled@4
 IsWindow@4
@@ -437,6 +439,7 @@
 IsWindowInDestroy@4
 IsWindowUnicode@4
 IsWindowVisible@4
+IsWow64Message@0
 IsZoomed@4
 KillSystemTimer@8
 KillTimer@8
@@ -526,11 +529,8 @@
 PrivateExtractIconExW@20
 PrivateExtractIconsA@32
 PrivateExtractIconsW@32
-PrivateSetDbgTag@8
-PrivateSetRipFlags@8
 PtInRect@12
 QuerySendMessage@4
-QueryUserCounters@20
 RealChildWindowFromPoint@12
 RealGetWindowClass@12
 RealGetWindowClassA@12
@@ -555,7 +555,7 @@
 RegisterShellHookWindow@4
 RegisterSystemThread@8
 RegisterTasklist@4
-RegisterUserApiHook@8
+RegisterUserApiHook@4
 RegisterWindowMessageA@4
 RegisterWindowMessageW@4
 ReleaseCapture@0
@@ -703,6 +703,7 @@
 UnregisterMessagePumpHook@0
 UnregisterUserApiHook@0
 UpdateLayeredWindow@36
+UpdateLayeredWindowIndirect@8
 UpdatePerUserSystemParameters@8
 UpdateWindow@4
 User32InitializeImmEntryTable@4
@@ -712,8 +713,6 @@
 UserLpkTabbedTextOut@48
 UserRealizePalette@4
 UserRegisterWowHandlers@8
-VRipOutput@0
-VTagOutput@0
 ValidateRect@8
 ValidateRgn@8
 VkKeyScanA@4

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