Project

General

Profile

Statistics
| Revision:

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