vdfsplat / AppSrc / cOSVersionInfo.h @ 67
History | View | Annotate | Download (4.68 KB)
| 1 |
|
|---|---|
| 2 |
//
|
| 3 |
// Doc http://msdn.microsoft.com/en-us/library/windows/desktop/ms724833%28v=vs.85%29.aspx
|
| 4 |
//
|
| 5 |
#IFDEF CS_OSVERSION_UNKNOWN
|
| 6 |
#ELSE
|
| 7 |
Define csOSVersionNumberCouldNotRetrieved for "OS type could not be retrieved" |
| 8 |
Define CS_OSVERSION_UNKNOWN for "Windows Version UNKNOWN" |
| 9 |
Define CS_OSVERSION_WIN95 for "Windows 95" |
| 10 |
Define CS_OSVERSION_WIN98 for "Windows 98" |
| 11 |
Define CS_OSVERSION_WINME for "Windows ME" |
| 12 |
Define CS_OSVERSION_NT35 for "Windows NT 3.51" |
| 13 |
Define CS_OSVERSION_NT4WKS for "Windows NT40 Professional" |
| 14 |
Define CS_OSVERSION_NT4SRV for "Windows NT40 Server" |
| 15 |
Define CS_OSVERSION_NT4 for "Windows NT40" // ? Doesnt exist me thinks |
| 16 |
Define CS_OSVERSION_W2K for "Windows 2000 Professional" |
| 17 |
Define CS_OSVERSION_W2KSRV for "Windows 2000 Server" |
| 18 |
Define CS_OSVERSION_WXPPRO for "Windows XP Professional" |
| 19 |
Define CS_OSVERSION_WXP for "Windows XP" |
| 20 |
Define CS_OSVERSION_WXPX64 for "Windows XP Professional x64 Edition" |
| 21 |
Define CS_OSVERSION_2K3 for "Windows Server 2003" |
| 22 |
Define CS_OSVERSION_2K3R2 for "Windows Server 2003 R2" |
| 23 |
Define CS_OSVERSION_VISTA for "Windows Vista" |
| 24 |
Define CS_OSVERSION_HMESRV for "Windows Home Server" |
| 25 |
Define CS_OSVERSION_2K8 for "Windows Server 2008" |
| 26 |
Define CS_OSVERSION_2K8R2 for "Windows Server 2008 R2" |
| 27 |
Define CS_OSVERSION_W7 for "Windows 7" |
| 28 |
// *** Change 2012-07-23 NGS ***
|
| 29 |
Define CS_OSVERSION_W8 for "Windows 8" |
| 30 |
Define CS_OSVERSION_2K12 for "Windows 2012 Server" |
| 31 |
#ENDIF
|
| 32 |
|
| 33 |
#IFNDEF CS_OS_EDITION
|
| 34 |
Define CS_OS_EDITION for "Edition" |
| 35 |
Define CS_OS_EMBEDDED for "Embedded" |
| 36 |
Define CS_OS_HOME for "Home" |
| 37 |
Define CS_OS_MCE for "Media Center" |
| 38 |
Define CS_OS_STARTER for "Starter" |
| 39 |
Define CS_OS_TABLETPC for "Tablet PC" |
| 40 |
Define CS_OS_WEB for "Web Edition" |
| 41 |
Define CS_OS_DATACENTER for "Datacenter" |
| 42 |
Define CS_OS_ENTERPRISE for "Enterprise" |
| 43 |
Define CS_OS_REMOTESESSION for "Remote Desktop Session" |
| 44 |
Define CS_OS_ISADMINISTRATOR for "Administrator" |
| 45 |
#ENDIF
|
| 46 |
|
| 47 |
#IFNDEF CE_OSVERSION_UNKNOWN
|
| 48 |
Define CE_OSVERSION_UNKNOWN for 0 |
| 49 |
Define CE_OSVERSION_WIN95 for 1 |
| 50 |
Define CE_OSVERSION_WIN98 for 2 |
| 51 |
Define CE_OSVERSION_WINME for 3 |
| 52 |
Define CE_OSVERSION_NT35 for 4 |
| 53 |
Define CE_OSVERSION_NT4WKS for 5 |
| 54 |
Define CE_OSVERSION_NT4SRV for 6 |
| 55 |
Define CE_OSVERSION_W2K for 7 |
| 56 |
Define CE_OSVERSION_W2KSRV for 8 |
| 57 |
Define CE_OSVERSION_WXP for 9 |
| 58 |
Define CE_OSVERSION_2K3 for 10 |
| 59 |
Define CE_OSVERSION_2K3R2 for 11 |
| 60 |
Define CE_OSVERSION_VISTA for 12 |
| 61 |
Define CE_OSVERSION_HMESRV for 13 |
| 62 |
Define CE_OSVERSION_2K8 for 14 |
| 63 |
Define CE_OSVERSION_2K8R2 for 15 |
| 64 |
Define CE_OSVERSION_W7 for 16 |
| 65 |
// *** Change 2012-07-23 NGS ***
|
| 66 |
Define CE_OSVERSION_W8 for 17 |
| 67 |
Define CE_OSVERSION_2K12 for 18 |
| 68 |
#ENDIF
|
| 69 |
|
| 70 |
#IFNDEF SM_TABLETPC
|
| 71 |
Define SM_TABLETPC for 86 // Nonzero if the current operating system is the Windows XP Tablet PC edition or if the current operating system is Windows Vista or Windows 7 and the Tablet PC Input service is started; otherwise, 0. |
| 72 |
Define SM_MEDIACENTER for 87 // Nonzero if the current operating system is the Windows XP, Media Center Edition, 0 if not. |
| 73 |
Define SM_STARTER for 88 // Nonzero if the current operating system is Windows 7 Starter Edition, Windows Vista Starter, or Windows XP Starter Edition; otherwise, 0. |
| 74 |
Define SM_SERVERR2 for 89 // The build number if the system is Windows Server 2003 R2; otherwise, 0 |
| 75 |
#ENDIF
|
| 76 |
|
| 77 |
#IFNDEF SM_REMOTESESSION
|
| 78 |
// The next values are suddenly defined in hex, but MSDN does not tell us that :s
|
| 79 |
Define SM_REMOTESESSION for |CI$1000 // This system metric is used in a Terminal Services environment. If the calling process is associated with a Terminal Services client session, the return value is nonzero. If the calling process is associated with the Terminal Services console session, the return value is 0. |
| 80 |
Define SM_REMOTECONTROL for |CI$2001 // |
| 81 |
#ENDIF
|
| 82 |
|
| 83 |
//******************* EXTERNAL FUNCTIONS *************************************
|
| 84 |
//
|
| 85 |
// *WvA: For the ToDo list:
|
| 86 |
// For applications designed for Windows 2000 and later, use VerifyVersionInfo
|
| 87 |
// instead of GetVersionEx to check the system version. VerifyVersionInfo is
|
| 88 |
// available with Windows 2000 and later versions. Applications must use
|
| 89 |
// VerifyVersionInfo for version checking to meet the Certified for
|
| 90 |
// Windows 2000 application specification.
|
| 91 |
//
|
| 92 |
#IFNDEF Get_GetVersionEx
|
| 93 |
External_Function32 GetVersionEx "GetVersionExA" KERNEL32.DLL ;
|
| 94 |
Pointer lpVersionInformation Returns Integer |
| 95 |
#ENDIF
|