1 #ifndef __SAGITTARIUS_PLATFORM_WIN_H_
2 #define __SAGITTARIUS_PLATFORM_WIN_H_
6 #define SAGITTARIUS_WINVER_WIN7 5 //Windows 7
7 #define SAGITTARIUS_WINVER_WINS2008 4 //Windows Server 2008
8 #define SAGITTARIUS_WINVER_WINVISTA 3 //Windows Vista
9 #define SAGITTARIUS_WINVER_WINS2003 2 //Windows Server 2003
10 #define SAGITTARIUS_WINVER_WINXP 1 //Windows XP
11 #define SAGITTARIUS_WINVER_WIN2000 0 //Windows 2000
14 #define SAGITTARIUS_WINSP_NOSP 0
15 #define SAGITTARIUS_WINSP_SP1 1
16 #define SAGITTARIUS_WINSP_SP2 2
17 #define SAGITTARIUS_WINSP_SP3 3
19 #if NTDDI_VERSION == NTDDI_WIN7 //Windows 7
20 #define SAGITTARIUS_WINVER SAGITTARIUS_WINVER_WIN7
21 #define SAGITTARIUS_WINSP SAGITTARIUS_WINSP_NOSP
22 #elif NTDDI_VERSION == NTDDI_WS08 //Windows Server 2008
23 #define SAGITTARIUS_WINVER SAGITTARIUS_WINVER_WINS2008
24 #define SAGITTARIUS_WINSP SAGITTARIUS_WINSP_NOSP
25 #elif NTDDI_VERSION == NTDDI_VISTASP1 //Windows Vista SP1
26 #define SAGITTARIUS_WINVER SAGITTARIUS_WINVER_WINVISTA
27 #define SAGITTARIUS_WINSP SAGITTARIUS_WINSP_SP1
28 #elif NTDDI_VERSION == NTDDI_VISTA //Windows Vista
29 #define SAGITTARIUS_WINVER SAGITTARIUS_WINVER_WINVISTA
30 #define SAGITTARIUS_WINSP SAGITTARIUS_WINSP_NOSP
31 #elif NTDDI_VERSION == NTDDI_WS03SP2 //Server 2003 SP2
32 #define SAGITTARIUS_WINVER SAGITTARIUS_WINVER_WINS2003
33 #define SAGITTARIUS_WINSP SAGITTARIUS_WINSP_SP2
34 #elif NTDDI_VERSION == NTDDI_WS03SP1 //Server 2003 SP1
35 #define SAGITTARIUS_WINVER SAGITTARIUS_WINVER_WINS2003
36 #define SAGITTARIUS_WINSP SAGITTARIUS_WINSP_SP1
37 #elif NTDDI_VERSION == NTDDI_WS03 //Server 2003
38 #define SAGITTARIUS_WINVER SAGITTARIUS_WINVER_WINS2003
39 #define SAGITTARIUS_WINSP SAGITTARIUS_WINSP_NOSP
40 #elif NTDDI_VERSION == NTDDI_WINXPSP3 //XP SP3
41 #define SAGITTARIUS_WINVER SAGITTARIUS_WINVER_WINXP
42 #define SAGITTARIUS_WINSP SAGITTARIUS_WINSP_SP3
43 #elif NTDDI_VERSION == NTDDI_WINXPSP2 //XP SP2
44 #define SAGITTARIUS_WINVER SAGITTARIUS_WINVER_WINXP
45 #define SAGITTARIUS_WINSP SAGITTARIUS_WINSP_SP2
46 #elif NTDDI_VERSION == NTDDI_WINXPSP1 //XP SP1
47 #define SAGITTARIUS_WINVER SAGITTARIUS_WINVER_WINXP
48 #define SAGITTARIUS_WINSP SAGITTARIUS_WINSP_SP1
49 #elif NTDDI_VERSION == NTDDI_WINXP //XP
50 #define SAGITTARIUS_WINVER SAGITTARIUS_WINVER_WINXP
51 #define SAGITTARIUS_WINSP SAGITTARIUS_WINSP_NOSP
52 #elif NTDDI_VERSION < NTDDI_WINXP
53 #error "Windows is older than minimum supported version"
57 #define SAGITTARIUS_WIN_MINVER _WIN32_WINNT
59 #define SAGITTARIUS_WIN_MINVER_WIN7 _WIN32_WINNT_WIN7 //Windows 7
60 #define SAGITTARIUS_WIN_MINVER_WINS2008 _WIN32_WINNT_WS08
61 #define SAGITTARIUS_WIN_MINVER_WINVISTA _WIN32_WINNT_VISTA
62 #define SAGITTARIUS_WIN_MINVER_WIN03 _WIN32_WINNT_WS03 //Server 2003 with SP1 *OR* XP with SP2
63 #define SAGITTARIUS_WIN_MINVER_WINXP _WIN32_WINNT_WINXP
64 #define SAGITTARIUS_WIN_MINVER_WIN2000 _WIN32_WINNT_WIN2K