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
|