1 module windows.sdkddkver;
2 nothrow:
3 /*
4 
5 Copyright (c) Microsoft Corporation. All rights reserved.
6 
7 Module Name:
8 
9     sdkddkver.h
10 
11 Abstract:
12 
13     Master include file for versioning windows SDK/DDK.
14 
15 */
16 
17 //
18 // _WIN32_WINNT version enumants
19 //
20 enum _WIN32_WINNT_NT4                    = 0x0400;
21 enum _WIN32_WINNT_WIN2K                  = 0x0500;
22 enum _WIN32_WINNT_WINXP                  = 0x0501;
23 enum _WIN32_WINNT_WS03                   = 0x0502;
24 enum _WIN32_WINNT_WIN6                   = 0x0600;
25 enum _WIN32_WINNT_VISTA                  = 0x0600;
26 enum _WIN32_WINNT_WS08                   = 0x0600;
27 enum _WIN32_WINNT_LONGHORN               = 0x0600;
28 enum _WIN32_WINNT_WIN7                   = 0x0601;
29 enum _WIN32_WINNT_WIN8                   = 0x0602;
30 enum _WIN32_WINNT_WINBLUE                = 0x0603;
31 enum _WIN32_WINNT_WIN10					 = 0x0A00;
32 
33 //
34 // _WIN32_IE_ version enumants
35 //
36 enum _WIN32_IE_IE20                      = 0x0200;
37 enum _WIN32_IE_IE30                      = 0x0300;
38 enum _WIN32_IE_IE302                     = 0x0302;
39 enum _WIN32_IE_IE40                      = 0x0400;
40 enum _WIN32_IE_IE401                     = 0x0401;
41 enum _WIN32_IE_IE50                      = 0x0500;
42 enum _WIN32_IE_IE501                     = 0x0501;
43 enum _WIN32_IE_IE55                      = 0x0550;
44 enum _WIN32_IE_IE60                      = 0x0600;
45 enum _WIN32_IE_IE60SP1                   = 0x0601;
46 enum _WIN32_IE_IE60SP2                   = 0x0603;
47 enum _WIN32_IE_IE70                      = 0x0700;
48 enum _WIN32_IE_IE80                      = 0x0800;
49 enum _WIN32_IE_IE90                      = 0x0900;
50 enum _WIN32_IE_IE100                     = 0x0A00;
51 
52 //
53 // IE <-> OS version mapping
54 //
55 // NT4 supports IE versions 2.0 -> 6.0 SP1
56 enum _WIN32_IE_NT4                    =  _WIN32_IE_IE20;
57 enum _WIN32_IE_NT4SP1                 =  _WIN32_IE_IE20;
58 enum _WIN32_IE_NT4SP2                 =  _WIN32_IE_IE20;
59 enum _WIN32_IE_NT4SP3                 =  _WIN32_IE_IE302;
60 enum _WIN32_IE_NT4SP4                 =  _WIN32_IE_IE401;
61 enum _WIN32_IE_NT4SP5                 =  _WIN32_IE_IE401;
62 enum _WIN32_IE_NT4SP6                 =  _WIN32_IE_IE50;
63 // Win98 supports IE versions 4.01 -> 6.0 SP1
64 enum _WIN32_IE_WIN98                  =  _WIN32_IE_IE401;
65 // Win98SE supports IE versions 5.0 -> 6.0 SP1
66 enum _WIN32_IE_WIN98SE                =  _WIN32_IE_IE50;
67 // WinME supports IE versions 5.5 -> 6.0 SP1
68 enum _WIN32_IE_WINME                  =  _WIN32_IE_IE55;
69 // Win2k supports IE versions 5.01 -> 6.0 SP1
70 enum _WIN32_IE_WIN2K                  =  _WIN32_IE_IE501;
71 enum _WIN32_IE_WIN2KSP1               =  _WIN32_IE_IE501;
72 enum _WIN32_IE_WIN2KSP2               =  _WIN32_IE_IE501;
73 enum _WIN32_IE_WIN2KSP3               =  _WIN32_IE_IE501;
74 enum _WIN32_IE_WIN2KSP4               =  _WIN32_IE_IE501;
75 enum _WIN32_IE_XP                     =  _WIN32_IE_IE60;
76 enum _WIN32_IE_XPSP1                  =  _WIN32_IE_IE60SP1;
77 enum _WIN32_IE_XPSP2                  =  _WIN32_IE_IE60SP2;
78 enum _WIN32_IE_WS03                      = 0x0602;
79 enum _WIN32_IE_WS03SP1                =  _WIN32_IE_IE60SP2;
80 enum _WIN32_IE_WIN6                   =  _WIN32_IE_IE70;
81 enum _WIN32_IE_LONGHORN               =  _WIN32_IE_IE70;
82 enum _WIN32_IE_WIN7                   =  _WIN32_IE_IE80;
83 enum _WIN32_IE_WIN8                   =  _WIN32_IE_IE100;
84 enum _WIN32_IE_WINBLUE                =  _WIN32_IE_IE100;
85 
86 
87 //
88 // NTDDI version enumants
89 //
90 enum NTDDI_WIN2K                         = 0x05000000;
91 enum NTDDI_WIN2KSP1                      = 0x05000100;
92 enum NTDDI_WIN2KSP2                      = 0x05000200;
93 enum NTDDI_WIN2KSP3                      = 0x05000300;
94 enum NTDDI_WIN2KSP4                      = 0x05000400;
95 
96 enum NTDDI_WINXP                         = 0x05010000;
97 enum NTDDI_WINXPSP1                      = 0x05010100;
98 enum NTDDI_WINXPSP2                      = 0x05010200;
99 enum NTDDI_WINXPSP3                      = 0x05010300;
100 enum NTDDI_WINXPSP4                      = 0x05010400;
101 
102 enum NTDDI_WS03                          = 0x05020000;
103 enum NTDDI_WS03SP1                       = 0x05020100;
104 enum NTDDI_WS03SP2                       = 0x05020200;
105 enum NTDDI_WS03SP3                       = 0x05020300;
106 enum NTDDI_WS03SP4                       = 0x05020400;
107 
108 enum NTDDI_WIN6                          = 0x06000000;
109 enum NTDDI_WIN6SP1                       = 0x06000100;
110 enum NTDDI_WIN6SP2                       = 0x06000200;
111 enum NTDDI_WIN6SP3                       = 0x06000300;
112 enum NTDDI_WIN6SP4                       = 0x06000400;
113 
114 enum NTDDI_VISTA                       = NTDDI_WIN6;
115 enum NTDDI_VISTASP1                    = NTDDI_WIN6SP1;
116 enum NTDDI_VISTASP2                    = NTDDI_WIN6SP2;
117 enum NTDDI_VISTASP3                    = NTDDI_WIN6SP3;
118 enum NTDDI_VISTASP4                    = NTDDI_WIN6SP4;
119 
120 enum NTDDI_LONGHORN= NTDDI_VISTA;
121 
122 enum NTDDI_WS08                        = NTDDI_WIN6SP1;
123 enum NTDDI_WS08SP2                     = NTDDI_WIN6SP2;
124 enum NTDDI_WS08SP3                     = NTDDI_WIN6SP3;
125 enum NTDDI_WS08SP4                     = NTDDI_WIN6SP4;
126 
127 enum NTDDI_WIN7                          = 0x06010000;
128 enum NTDDI_WIN8                          = 0x06020000;
129 enum NTDDI_WINBLUE                       = 0x06030000;
130 
131 
132 //
133 // masks for version macros
134 //
135 enum OSVERSION_MASK      = 0xFFFF0000;
136 enum SPVERSION_MASK      = 0x0000FF00;
137 enum SUBVERSION_MASK     = 0x000000FF;
138 
139 enum  _WIN32_WINNT   = 0x0603;
140 
141 enum NTDDI_VERSION   = 0x06030000;
142 enum WINVER       =  _WIN32_WINNT;
143 
144 // set _WIN32_IE based on _WIN32_WINNT
145 static if (_WIN32_WINNT <= _WIN32_WINNT_NT4)
146 	enum _WIN32_IE    =  _WIN32_IE_IE50;
147 else static if (_WIN32_WINNT <= _WIN32_WINNT_WIN2K)
148 	enum _WIN32_IE    =  _WIN32_IE_IE501;
149 else static if (_WIN32_WINNT <= _WIN32_WINNT_WINXP)
150 	enum _WIN32_IE    =  _WIN32_IE_IE60;
151 else static if (_WIN32_WINNT <= _WIN32_WINNT_WS03)
152 	enum _WIN32_IE    =  _WIN32_IE_WS03;
153 else static if (_WIN32_WINNT <= _WIN32_WINNT_VISTA)
154 	enum _WIN32_IE    =  _WIN32_IE_LONGHORN;
155 else static if (_WIN32_WINNT <= _WIN32_WINNT_WIN7)
156 	enum _WIN32_IE    =  _WIN32_IE_WIN7;
157 else static if (_WIN32_WINNT <= _WIN32_WINNT_WIN8)
158 	enum _WIN32_IE    =  _WIN32_IE_WIN8;
159 else
160 	enum _WIN32_IE       = 0x0A00;
161