Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

151 lines
4.0 KiB

//+----------------------------------------------------------------------------
// defines
//+----------------------------------------------------------------------------
#define WIN95_OSR2_BUILD_NUMBER 1111
#define LOADSTRING_BUFSIZE 24
#define FAREAST_WIN95_LOADSTRING_BUFSIZE 512
//
// platform ID for WINDOWS98
//
#define VER_PLATFORM_WIN32_WINDOWS98 100
//
// platform ID for WINDOWS Millennium
//
#define VER_PLATFORM_WIN32_MILLENNIUM 200
//+----------------------------------------------------------------------------
//
// Function GetOSVersion
//
// Synopsis returns the OS version(platform ID)
//
// Arguments NONE
//
// Returns: DWORD - VER_PLATFORM_WIN32_WINDOWS or
// VER_PLATFORM_WIN32_WINDOWS98 or
// VER_PLATFORM_WIN32_NT
//
// History: Created Header 2/13/98
//
//+----------------------------------------------------------------------------
DWORD WINAPI GetOSVersion()
{
static dwPlatformID = 0;
//
// If this function is called before, reture the saved value
//
if (dwPlatformID != 0)
{
return dwPlatformID;
}
OSVERSIONINFO oviVersion;
ZeroMemory(&oviVersion,sizeof(oviVersion));
oviVersion.dwOSVersionInfoSize = sizeof(oviVersion);
GetVersionEx(&oviVersion);
if (oviVersion.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS)
{
//
// If this is Win95 then leave it as VER_PLATFORM_WIN32_WINDOWS, however if this
// is Millennium, Win98 SE, or Win98 Gold we want to modify the returned value
// as follows: VER_PLATFORM_WIN32_MILLENNIUM -> Millennium
// VER_PLATFORM_WIN32_WINDOWS98 -> Win98 SE and Win98 Gold
//
if (oviVersion.dwMajorVersion == 4)
{
if (LOWORD(oviVersion.dwBuildNumber) > 2222)
{
//
// Millennium
//
oviVersion.dwPlatformId = VER_PLATFORM_WIN32_MILLENNIUM;
}
else if (LOWORD(oviVersion.dwBuildNumber) >= 1998)
{
//
// Win98 Gold and Win98 SE
//
oviVersion.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS98;
}
}
}
dwPlatformID = oviVersion.dwPlatformId;
return(dwPlatformID);
}
//+----------------------------------------------------------------------------
//
// Function GetOSBuildNumber
//
// Synopsis Get the build number of Operating system
//
// Arguments None
//
// Returns Build Number of OS
//
// History 3/5/97 VetriV Created
//
//-----------------------------------------------------------------------------
DWORD WINAPI GetOSBuildNumber()
{
static dwBuildNumber = 0;
OSVERSIONINFO oviVersion;
if (0 != dwBuildNumber)
{
return dwBuildNumber;
}
ZeroMemory(&oviVersion,sizeof(oviVersion));
oviVersion.dwOSVersionInfoSize = sizeof(oviVersion);
GetVersionEx(&oviVersion);
dwBuildNumber = oviVersion.dwBuildNumber;
return dwBuildNumber;
}
//+----------------------------------------------------------------------------
//
// Function GetOSMajorVersion
//
// Synopsis Get the Major version number of Operating system
//
// Arguments None
//
// Returns Major version Number of OS
//
// History 2/19/98 VetriV Created
//
//-----------------------------------------------------------------------------
DWORD WINAPI GetOSMajorVersion(void)
{
static dwMajorVersion = 0;
OSVERSIONINFO oviVersion;
if (0 != dwMajorVersion)
{
return dwMajorVersion;
}
ZeroMemory(&oviVersion,sizeof(oviVersion));
oviVersion.dwOSVersionInfoSize = sizeof(oviVersion);
GetVersionEx(&oviVersion);
dwMajorVersion = oviVersion.dwMajorVersion;
return dwMajorVersion;
}