83 lines
2.1 KiB
C
83 lines
2.1 KiB
C
|
//+----------------------------------------------------------------------------
|
||
|
//
|
||
|
// 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
|
||
|
|
||
|
|
||
|
|
||
|
|