//+---------------------------------------------------------------------------- // // 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 //________________________________________________________________________________ // // 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