-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathwindows_edition.cpp
More file actions
106 lines (105 loc) · 8.85 KB
/
windows_edition.cpp
File metadata and controls
106 lines (105 loc) · 8.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
#include "windows_edition.h"
std::string getWindowsEdition(DWORD productType) {
std::string editionName;
switch (productType) {
case PRODUCT_BUSINESS: editionName = "Business"; break;
case PRODUCT_BUSINESS_N: editionName = "Business N"; break;
case PRODUCT_CLUSTER_SERVER: editionName = "HPC Edition"; break;
case PRODUCT_CLUSTER_SERVER_V: editionName = "Server Hyper Core V"; break;
case PRODUCT_CORE: editionName = "Home (Core)"; break;
case PRODUCT_CORE_COUNTRYSPECIFIC: editionName = "Home (Core) China"; break;
case PRODUCT_CORE_N: editionName = "Home (Core) N"; break;
case PRODUCT_CORE_SINGLELANGUAGE: editionName = "Home (Core) Single Language"; break;
case PRODUCT_DATACENTER_EVALUATION_SERVER: editionName = "Datacenter (Evaluation)"; break;
case 0x00000091: editionName = "Datacenter, Semi-Annual Channel (Server Core)"; break;
case 0x00000092: editionName = "Standard, Semi-Annual Channel (Server Core)"; break;
case PRODUCT_DATACENTER_SERVER: editionName = "Datacenter (Full Installation)"; break;
case PRODUCT_DATACENTER_SERVER_CORE: editionName = "Datacenter (Server Core)"; break;
case PRODUCT_DATACENTER_SERVER_CORE_V: editionName = "Datacenter without Hyper-V (Server Core)"; break;
case PRODUCT_DATACENTER_SERVER_V: editionName = "Datacenter without Hyper-V (Full Installation)"; break;
case PRODUCT_EDUCATION: editionName = "Education"; break;
case PRODUCT_EDUCATION_N: editionName = "Education N"; break;
case PRODUCT_ENTERPRISE: editionName = "Enterprise"; break;
case PRODUCT_ENTERPRISE_E: editionName = "Enterprise E"; break;
case PRODUCT_ENTERPRISE_EVALUATION: editionName = "Enterprise (Evaluation)"; break;
case PRODUCT_ENTERPRISE_N: editionName = "Enterprise N"; break;
case PRODUCT_ENTERPRISE_N_EVALUATION: editionName = "Enterprise N (Evaluation)"; break;
case PRODUCT_ENTERPRISE_S: editionName = "Enterprise LTSB/LTSC"; break;
case PRODUCT_ENTERPRISE_S_EVALUATION: editionName = "Enterprise LTSB/LTSC (Evaluation)"; break;
case PRODUCT_ENTERPRISE_S_N: editionName = "Enterprise LTSB/LTSC N"; break;
case PRODUCT_ENTERPRISE_S_N_EVALUATION: editionName = "Enterprise LTSB/LTSC N (Evaluation)"; break;
case PRODUCT_ENTERPRISE_SERVER: editionName = "Enterprise (Full Installation)"; break;
case PRODUCT_ENTERPRISE_SERVER_CORE: editionName = "Enterprise (Server Core)"; break;
case PRODUCT_ENTERPRISE_SERVER_CORE_V: editionName = "Enterprise without Hyper-V (Server Core)"; break;
case PRODUCT_ENTERPRISE_SERVER_IA64: editionName = "Enterprise (Itanium-Based Systems)"; break;
case PRODUCT_ENTERPRISE_SERVER_V: editionName = "Enterprise without Hyper-V (Full Installation)"; break;
case PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL: editionName = "Essential Server Solution Additional"; break;
case PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC: editionName = "Essential Server Solution Additional SVC"; break;
case PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT: editionName = "Essential Server Solution Management"; break;
case PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC: editionName = "Essential Server Solution Management SVC"; break;
case PRODUCT_HOME_BASIC: editionName = "Home Basic"; break;
case PRODUCT_HOME_BASIC_E: editionName = "Home Basic E"; break;
case PRODUCT_HOME_BASIC_N: editionName = "Home Basic N"; break;
case PRODUCT_HOME_PREMIUM: editionName = "Home Premium"; break;
case PRODUCT_HOME_PREMIUM_E: editionName = "Home Premium E"; break;
case PRODUCT_HOME_PREMIUM_N: editionName = "Home Premium N"; break;
case PRODUCT_HOME_PREMIUM_SERVER: editionName = "Home Server"; break;
case PRODUCT_HOME_SERVER: editionName = "Storage Server Essentials"; break;
case PRODUCT_HYPERV: editionName = "Microsoft Hyper-V Server"; break;
case 0x000000BC: editionName = "IoT Enterprise"; break;
case 0x000000BF: editionName = "IoT Enterprise LTSB/LTSC"; break;
case PRODUCT_IOTUAP: editionName = "IoT Core"; break;
case PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT: editionName = "Essential Business Server Management"; break;
case PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING: editionName = "Essential Business Server Messaging"; break;
case PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY: editionName = "Essential Business Server Security"; break;
case PRODUCT_MOBILE_CORE: editionName = "Mobile (Core)"; break;
case PRODUCT_MOBILE_ENTERPRISE: editionName = "Mobile Enterprise"; break;
case PRODUCT_MULTIPOINT_PREMIUM_SERVER: editionName = "MultiPoint Premium"; break;
case PRODUCT_MULTIPOINT_STANDARD_SERVER: editionName = "MultiPoint Standard"; break;
case PRODUCT_PPI_PRO: editionName = "Team"; break;
case PRODUCT_PROFESSIONAL: editionName = "Professional"; break;
case PRODUCT_PROFESSIONAL_E: editionName = "Professional E"; break;
case PRODUCT_PROFESSIONAL_N: editionName = "Professional N"; break;
case PRODUCT_PROFESSIONAL_WMC: editionName = "Professional with Media Center"; break;
case PRODUCT_SB_SOLUTION_SERVER: editionName = "Small Business Server Essentials"; break;
case PRODUCT_SB_SOLUTION_SERVER_EM: editionName = "Server for SB Solutions EM"; break;
case PRODUCT_SERVER_FOR_SB_SOLUTIONS: editionName = "Server For SB Solutions"; break;
case PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM: editionName = "Server For SB Solutions EM"; break;
case PRODUCT_SERVER_FOR_SMALLBUSINESS: editionName = "Windows Essential Server Solutions"; break;
case PRODUCT_SERVER_FOR_SMALLBUSINESS_V: editionName = "Windows Essential Server Solutions without Hyper-V"; break;
case PRODUCT_SERVER_FOUNDATION: editionName = "Foundation"; break;
case 0x000000AF: editionName = "Enterprise for Virtual Desktops"; break;
case PRODUCT_SMALLBUSINESS_SERVER: editionName = "Small Business Server"; break;
case PRODUCT_SMALLBUSINESS_SERVER_PREMIUM: editionName = "Small Business Server Premium"; break;
case PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE: editionName = "Small Business Server Premium (Server Core)"; break;
case PRODUCT_SOLUTION_EMBEDDEDSERVER: editionName = "MultiPoint Server"; break;
case PRODUCT_STANDARD_EVALUATION_SERVER: editionName = "Standard (Evaluation)"; break;
case PRODUCT_STANDARD_SERVER: editionName = "Standard (Full Installation)"; break;
case PRODUCT_STANDARD_SERVER_CORE: editionName = "Standard (Server Core)"; break;
case PRODUCT_STANDARD_SERVER_CORE_V: editionName = "Standard without Hyper-V (Server Core)"; break;
case PRODUCT_STANDARD_SERVER_V: editionName = "Standard without Hyper-V (Full Installation)"; break;
case PRODUCT_STANDARD_SERVER_SOLUTIONS: editionName = "Server Solutions Premium (Full Installation)"; break;
case PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE: editionName = "Server Solutions Premium (Server Core)"; break;
case PRODUCT_STARTER: editionName = "Starter"; break;
case PRODUCT_STARTER_E: editionName = "Starter E"; break;
case PRODUCT_STARTER_N: editionName = "Starter N"; break;
case PRODUCT_STORAGE_ENTERPRISE_SERVER: editionName = "Storage Server Enterprise (Full Installation)"; break;
case PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE: editionName = "Storage Server Enterprise (Server Core)"; break;
case PRODUCT_STORAGE_EXPRESS_SERVER: editionName = "Storage Server Express (Full Installation)"; break;
case PRODUCT_STORAGE_EXPRESS_SERVER_CORE: editionName = "Storage Server Express (Server Core)"; break;
case PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER: editionName = "Storage Server Standard (Evaluation)"; break;
case PRODUCT_STORAGE_STANDARD_SERVER: editionName = "Storage Server Standard (Full Installation)"; break;
case PRODUCT_STORAGE_STANDARD_SERVER_CORE: editionName = "Storage Server Standard (Server Core)"; break;
case PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER: editionName = "Storage Server Workgroup (Evaluation)"; break;
case PRODUCT_STORAGE_WORKGROUP_SERVER: editionName = "Storage Server Workgroup (Full Installation)"; break;
case PRODUCT_STORAGE_WORKGROUP_SERVER_CORE: editionName = "Storage Server Workgroup (Server Core)"; break;
case PRODUCT_ULTIMATE: editionName = "Ultimate"; break;
case PRODUCT_ULTIMATE_E: editionName = "Ultimate E"; break;
case PRODUCT_ULTIMATE_N: editionName = "Ultimate N"; break;
case PRODUCT_UNDEFINED: editionName = "N/A (PRODUCT_UNDEFINED)"; break;
case PRODUCT_WEB_SERVER: editionName = "Web Server (Full Installation)"; break;
case PRODUCT_WEB_SERVER_CORE: editionName = "Web Server (Server Core)"; break;
default: editionName = "N/A (no match)"; break;
}
return editionName;
}