A thought occurs to me. Is there a way to add descriptors to DLL functions?
It would be a neat way to handle having multiple versions. In Python you
can tag functions like @TargetVersionWindowsXP. If you could transparently
hide and rename symbols in the DLL's kernel-side on load time, then you
could have all the functions in the same file without losing sanity points.

2015-03-09 11:27 GMT+01:00 Colin Finck <co...@reactos.org>:

> Am 09.03.2015 um 09:59 schrieb Aleksey Bragin:
> > I suppose if the API "changes" (and it means, it improves, and usually
> > without breaking backward compatibility), then there is no reason to
> > provide old, broken or incomplete implementation. I doubt there is any
> > popular app which relies on some bugs in old API implementation which
> > can justify that.
>
> My favourite for subtle changes inside Win32: SetTimer :)
> MSDN has removed many of the details now, so I quote from the old
> version of the page:
>
> ===================================================================
> uElapse
> [in] Specifies the time-out value, in milliseconds.
> Windows NT/2000/XP: If uElapse is greater than USER_TIMER_MAXIMUM, the
> timeout is set to 1.
>
> Windows 2000/XP: If uElapse is less than USER_TIMER_MINIMUM, the timeout
> is set to USER_TIMER_MINIMUM.
>
> Windows Server 2003: If uElapse is greater than USER_TIMER_MAXIMUM, the
> timeout is set to USER_TIMER_MAXIMUM.
>
> Windows XP SP2/Windows Server 2003 SP1: If uElapse is less than
> USER_TIMER_MINIMUM, the timeout is set to USER_TIMER_MINIMUM. If uElapse
> is greater than USER_TIMER_MAXIMUM, the timeout is set to
> USER_TIMER_MAXIMUM.
> ===================================================================
>
> Reference e.g. http://www.jliforum.de/board/viewtopic.php?p=61375#61375
>
>
> This has broken at least our third-party imported Matrix screensaver
> (see fix in r28955). Due to the widespread usage of the SetTimer API,
> there are probably more examples.
> Of course, given that we're targetting Windows Server 2003 SP1 or newer,
> the behaviour for us is clear. But if such changes occur in recent
> Windows versions as well, I believe we need different implementations of
> an API for each Windows version we try to emulate.
>
> Maybe someone can give an example of such a change in more recent
> Windows versions as well.
>
>
> Cheers,
>
> Colin
>
>
> _______________________________________________
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>
_______________________________________________
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Reply via email to