vdfsplat / AppSrc / cOSVersionInfo.h @ 67
History | View | Annotate | Download (4.68 KB)
| 1 | 14 | wil | |
|---|---|---|---|
| 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 |