24{
25 ULONG NTBuildNo, NTMajor, NTMinor, ServicePack, Subversion;
26
28 {
31 ServicePack = 0;
32
33 if (NTMajor > 6)
35 else
36 NTBuildNo = 0;
37
38 switch (NTBuildNo)
39 {
40
41 case 10240: Subversion = 0; break;
42 case 10586: Subversion = 1; break;
43 case 14393: Subversion = 2; break;
44 case 15063: Subversion = 3; break;
45 case 16299: Subversion = 4; break;
46 case 17134: Subversion = 5; break;
47 case 17763: Subversion = 6; break;
48 case 18362: Subversion = 7; break;
49 case 18363: Subversion = 8; break;
50 case 19041: Subversion = 9; break;
51 case 19042: Subversion = 10; break;
52 case 19043: Subversion = 11; break;
53 case 19044: Subversion = 12; break;
54 case 19045: Subversion = 13; break;
55
56
57 case 22000: Subversion = 11; break;
58 case 22621: Subversion = 12; break;
59 case 22631: Subversion = 14; break;
60 case 26100: Subversion = 16; break;
61 case 26200: Subversion = 17; break;
62 case 26300: Subversion = 17; break;
63
64 default: Subversion = 0; break;
65 }
66 }
67 else
68 {
70
72
74 {
78 Subversion = 0;
79 }
80 else
81 {
82 trace(
"Estimating an NTDDI value, GetVersionEx failed.\n");
85 ServicePack = 0;
86 Subversion = 0;
87 }
88 }
89
91}
#define GetMajorNTVersion()
#define GENERATE_NTDDI(Major, Minor, ServicePack, Subversion)
#define GetMinorNTVersion()
#define KUSER_SHARED_DATA_UMPTR
BOOL WINAPI GetVersionExW(IN LPOSVERSIONINFOW lpVersionInformation)
#define _WIN32_WINNT_WINBLUE
ULONG dwOSVersionInfoSize