Directly use the PEB version fields in GetVersion.

This commit is contained in:
Alexandre Julliard 2005-08-10 15:02:28 +00:00
parent 1c088a43f7
commit d05532e2d6
1 changed files with 5 additions and 9 deletions

View File

@ -107,15 +107,11 @@ DWORD WINAPI GetVersion16(void)
*/
DWORD WINAPI GetVersion(void)
{
RTL_OSVERSIONINFOEXW info;
DWORD result;
info.dwOSVersionInfoSize = sizeof(info);
if (RtlGetVersion( &info ) != STATUS_SUCCESS) return 0;
result = MAKELONG( MAKEWORD( info.dwMajorVersion, info.dwMinorVersion ),
(info.dwPlatformId ^ 2) << 14 );
if (info.dwPlatformId == VER_PLATFORM_WIN32_NT) result |= LOWORD(info.dwBuildNumber) << 16;
DWORD result = MAKELONG( MAKEWORD( NtCurrentTeb()->Peb->OSMajorVersion,
NtCurrentTeb()->Peb->OSMinorVersion ),
(NtCurrentTeb()->Peb->OSPlatformId ^ 2) << 14 );
if (NtCurrentTeb()->Peb->OSPlatformId == VER_PLATFORM_WIN32_NT)
result |= LOWORD(NtCurrentTeb()->Peb->OSBuildNumber) << 16;
return result;
}