mirror of https://github.com/tongzx/nt5src
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.
82 lines
2.1 KiB
82 lines
2.1 KiB
//+----------------------------------------------------------------------------
|
|
//
|
|
// File: cmplat.h
|
|
//
|
|
// Module: CMSETUP.LIB
|
|
//
|
|
// Synopsis: Definition of the CPlatform class.
|
|
//
|
|
// Copyright (c) 1997-1999 Microsoft Corporation
|
|
//
|
|
// Author: quintinb Created Header 08/19/99
|
|
//
|
|
//+----------------------------------------------------------------------------
|
|
|
|
#ifndef __CMPLAT_H
|
|
#define __CMPLAT_H
|
|
|
|
#include <windows.h>
|
|
|
|
//________________________________________________________________________________
|
|
//
|
|
// Class: CPlatform
|
|
//
|
|
// Synopsis: .instantiate one of these then query it with any of the member
|
|
// functions.
|
|
//
|
|
// Public Interface Include :
|
|
// IsX86();
|
|
// IsAlpha();
|
|
// IsWin95();
|
|
// IsWin98();
|
|
// IsWin9x();
|
|
// IsNT31();
|
|
// IsNT351();
|
|
// IsNT4();
|
|
// IsNT5();
|
|
// IsNT();
|
|
// Notes: m_ClassState enum is very valuable. All new functions should make use of it.
|
|
//
|
|
// History: a-anasj Created 2/04/1998
|
|
//
|
|
//________________________________________________________________________________
|
|
|
|
|
|
class CPlatform
|
|
{
|
|
public:
|
|
enum e_ClassState{good,bad};
|
|
CPlatform();
|
|
BOOL IsX86();
|
|
BOOL IsAlpha();
|
|
BOOL IsIA64();
|
|
BOOL IsWin95Gold(); // only build 950
|
|
BOOL IsWin95(); // any win95 build up one before the memphis builds
|
|
BOOL IsWin98Gold();
|
|
BOOL IsWin98Sr();
|
|
BOOL IsWin98();
|
|
BOOL IsWin9x();
|
|
BOOL IsNT31();
|
|
BOOL IsNT351();
|
|
BOOL IsNT4();
|
|
BOOL IsNT5();
|
|
BOOL IsNT51();
|
|
BOOL IsAtLeastNT5();
|
|
BOOL IsAtLeastNT51();
|
|
BOOL IsNT();
|
|
BOOL IsNTSrv();
|
|
BOOL IsNTWks();
|
|
private:
|
|
DWORD ServicePack(int spNum){return 0;}; //Not implemented
|
|
BOOL IsOS(DWORD OS, DWORD buildNum);
|
|
BOOL IsOSExact(DWORD OS, DWORD buildNum);
|
|
SYSTEM_INFO m_SysInfo;
|
|
OSVERSIONINFO m_OSVer;
|
|
e_ClassState m_ClassState;
|
|
};
|
|
|
|
#endif // __CMPLAT_H
|
|
|
|
|
|
|
|
|