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 |