On 8 December 2013 22:32, Pascal Quantin <[email protected]> wrote:

> Hi Graham,
>
> Le 8 déc. 2013 à 22:56, Graham Bloice <[email protected]> a
> écrit :
>
> Compiling with VS2013, the GetVersionEx function is now reported as
> deprecated:
>
> E:\Wireshark\trunk\version_info.c(368): warning C4996: 'GetVersionExW':
> was declared deprecated [E:\Wireshark\2013build\wireshark.vcxproj]
> E:\Wireshark\trunk\version_info.c(853): warning C4996: 'GetVersionExW':
> was declared deprecated [E:\Wireshark\2013build\wireshark.vcxproj]
> E:\Wireshark\trunk\ui\win32\file_dlg_win32.c(451): warning C4996: 'Get
> VersionExW': was declared deprecated
> [E:\Wireshark\2013build\wireshark.vcxproj]
>
>
> Normally with nmake builds we should have a flag removing this warning
> (see bug 9375 and revision 53059). Are you using cmake?
>

This was with CMake, however hiding the warning isn't really fixing the
issue.

>
>
> Should we switch over to using the Version Helpers API and\or
> VerifyVersionInfo (and remove a lot of cruft from version_info.c)?  This
> has already been partially implemented in ui\win32\file_dlg.c as part of
> https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9297
>
> Version Helpers API:
> http://msdn.microsoft.com/en-us/library/windows/desktop/dn424972(v=vs.85).aspx
>
>
> This is not what we need for version_info.c: this new API allows you to
> check a minimum OS requirement, not to get current OS version. See my
> comments in bugs 9297, 9298 and 9375 for more details.
>

In version_info,  get_os_version_info() just sets the stirng as required,
using the Version Helpers we could step back from 8.1 down to Vista (or XP
if we must) and stop when a version is found.  The IsWindowsServer() call
allows us to differentiate between the two variants.

In get_os_major_version() the two callers I can see are checking for Vista
or later, so that could be replaced with IsWindowsVistaOrGreater(), or more
generically with IsWindowsVersionOrGreater(), changing the function to
is_os_version_or_greater(versionRequired) or similar.

The call in win32_save_as_statstree() in file_dlg_win32.c could again be
replaced with a call to is_os_version_or_greater(), or could be removed
entirely as it's only for NT 4.0/Win95 compatibility of the OPENFILENAME
structure ofn.

As I said, lots of cruft can be removed.

I'll maybe look at this at the weekend.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <[email protected]>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:[email protected]?subject=unsubscribe

Reply via email to