Obsolete APIs?

Francois Gouget fgouget at free.fr
Thu Dec 12 15:20:12 CST 2002


While checking the differences between the set of APIs exported by
Windows dlls and the set of APIs exported by Wine's libraries I found
some strange cases:

 * some APIs are exported on Windows 95 and/or NT4 but are not exported
in more recent versions of Windows.
   For instance, GetRunTimes is exported by urlmon on Windows 95 and
NT4, but there is no trace of it in Windows 98, Millenium, 2000 or XP.
There is also no trace of it in the SDK headers.
   Some are exported only by NT4.
   What should I do with such APIs? Should I add them to Wine's spec
files anyway?

 * Some APIs are exported at a specific ordinal in Windows 95, but are
exported 'normally' in more recent versions of Windows. For instance,
still in urlmon, on Windows 95 and NT4 I have:

api95/urlmon-api.txt:                  4   2D 00047D0B IsLoggingEnabledW
apint4/urlmon-api.txt:                 4   2D 00047E4A IsLoggingEnabledW

   Clearly the ordinal was manually specified since the ordinal of
IsLoggingEnabledA is 46. However in the XP library these are exported in
the usual alphabetical order:

         49   30 000439E9 IsLoggingEnabledA
         50   31 00043AC6 IsLoggingEnabledW

   Wine sides on XP for this one. Should we not care (after all
Microsoft doesn't), or should we try to match the Windows 95 ordinal? I
would vote for the second otherwise scripts diffing the export lists
will complain about the difference every time we run them.


-- 
Francois Gouget         fgouget at free.fr        http://fgouget.free.fr/
  Good judgment comes from experience, and experience comes from bad judgment
                               -- Barry LePatner




More information about the wine-devel mailing list