From 34ed04f1fafa16c0eaba184ce24664d0dc772f71 Mon Sep 17 00:00:00 2001 From: Andreas Mohr Date: Tue, 11 Nov 2003 22:00:14 +0000 Subject: [PATCH] Don't include build number in GetVersion() for Win9x versions. --- dlls/kernel/version.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/dlls/kernel/version.c b/dlls/kernel/version.c index 053eaeedd25..e4c1e92a617 100644 --- a/dlls/kernel/version.c +++ b/dlls/kernel/version.c @@ -196,16 +196,28 @@ DWORD WINAPI GetVersion16(void) /*********************************************************************** * GetVersion (KERNEL32.@) + * + * Win31 0x80000a03 + * Win95 0xc0000004 + * Win98 0xc0000a04 + * WinME 0xc0005a04 + * NT351 0x04213303 + * NT4 0x05650004 + * Win2000 0x08930005 + * WinXP 0x0a280105 */ DWORD WINAPI GetVersion(void) { RTL_OSVERSIONINFOEXW info; + DWORD result; info.dwOSVersionInfoSize = sizeof(info); if (RtlGetVersion( &info ) != STATUS_SUCCESS) return 0; - return MAKELONG( MAKEWORD( info.dwMajorVersion, info.dwMinorVersion ), - LOWORD(info.dwBuildNumber) | ((info.dwPlatformId ^ 2) << 14) ); + result = MAKELONG( MAKEWORD( info.dwMajorVersion, info.dwMinorVersion ), + (info.dwPlatformId ^ 2) << 14 ); + if (info.dwPlatformId == VER_PLATFORM_WIN32_NT) result |= LOWORD(info.dwBuildNumber) << 16; + return result; }