8.44. dist.nt.windows_products¶
Support module for the original Windows product enumerations [doc] including additional definitions.
8.44.1. Module¶
MS-Windows product const-variables.
Note
Should work with all implementations. When the ranges reach long consider this for Jython.
8.44.2. Data Structures¶
This module defines product related data structures representing the namebinding and extensions.
8.44.2.1. Product Identifiers¶
The list of product identifiers provided by Microsoft.
- prod_ext
A map of original const values defined by GetProductInfo function parameter values of pwReturnedProductType, see [GetProductInfo] and [pwReturnedProductType]. This defines a proprietary category index of cumulated product types, see Product Type Categories.
prod_ext = { 0x00000006: 4, # PRODUCT_BUSINESS 0x00000010: 4, # PRODUCT_BUSINESS_N 0x00000012: 4, # PRODUCT_CLUSTER_SERVER 0x00000040: 4, # PRODUCT_CLUSTER_SERVER_V 0x00000065: 4, # PRODUCT_CORE ... # see Source
The dict values provide the cumulative index for prod_type_categories.
8.44.2.2. Product Type Categories¶
A proprietary category abstraction of cumulated product types by the platformids, see Product Identifiers.
- prod_type_categories
A cumulative abstraction of the defined product identifiers in order to get more abstract and though less variants of products. The view is an attempt to a more technical categorization of the predefined enums.
# # see Source # prod_type_categories = ( "H", # 0: Home "HS", # 1: Home Server "WS", # 2: Workstation "D", # 3: Data Center "E", # 4: Enterprise Server "STD", # 5: Standard Server "BS", # 6: Basic Server: Small Business Server / Essential Server "VIRT", # 7: Virtualization "IOT", # 8: IoT "EDU", # 9: Education "EMB", # 10: Embedded )
8.44.2.3. Product Enums¶
The provides values by the interface parameter pwReturnedProductType [pwReturnedProductType], and their defining macros from the SDK are provided as Python constants with the same names.
PRODUCT_BUSINESS = 0x00000006
PRODUCT_BUSINESS_N = 0x00000010
PRODUCT_CLUSTER_SERVER = 0x00000012
... # see Source
8.44.3. Source¶
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 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 | # -*- coding: utf-8 -*-
"""MS-Windows product const-variables.
.. note::
Should work with all implementations.
When the ranges reach *long* consider this for Jython.
"""
from __future__ import absolute_import
#
# cumulative abstraction to less variants of products,
# the view is an attempt to a more technical categorization:
# predefined enums for the application with the API 'GetProductInfo'
# defined by the parameter pwReturnedProductType
#
prod_type_categories = (
"H", # 0: Home
"HS", # 1: Home Server
"WS", # 2: Workstation
"D", # 3: Data Center
"E", # 4: Enterprise Server
"STD", # 5: Standard Server
"BS", # 6: Basic Server: Small Business Server / Essential Server
"VIRT", # 7: Virtualization
"IOT", # 8: IoT
"EDU", # 9: Education
"EMB", # 10: Embedded
)
prod_ext = {
0x00000006: 4, # PRODUCT_BUSINESS
0x00000010: 4, # PRODUCT_BUSINESS_N
0x00000012: 4, # PRODUCT_CLUSTER_SERVER
0x00000040: 4, # PRODUCT_CLUSTER_SERVER_V
0x00000065: 4, # PRODUCT_CORE
0x00000063: 4, # PRODUCT_CORE_COUNTRYSPECIFIC
0x00000062: 4, # PRODUCT_CORE_N
0x00000064: 4, # PRODUCT_CORE_SINGLELANGUAGE
0x00000050: 3, # PRODUCT_DATACENTER_EVALUATION_SERVER
0x00000008: 3, # PRODUCT_DATACENTER_SERVER
0x0000000C: 3, # PRODUCT_DATACENTER_SERVER_CORE
0x00000027: 3, # PRODUCT_DATACENTER_SERVER_CORE_V
0x00000025: 3, # PRODUCT_DATACENTER_SERVER_V
0x00000079: 9, # PRODUCT_EDUCATION
0x0000007A: 9, # PRODUCT_EDUCATION_N
0x00000004: 4, # PRODUCT_ENTERPRISE
0x00000046: 4, # PRODUCT_ENTERPRISE_E
0x00000048: 4, # PRODUCT_ENTERPRISE_EVALUATION
0x0000001B: 4, # PRODUCT_ENTERPRISE_N
0x00000054: 4, # PRODUCT_ENTERPRISE_N_EVALUATION
0x0000007D: 4, # PRODUCT_ENTERPRISE_S
0x00000081: 4, # PRODUCT_ENTERPRISE_S_EVALUATION
0x0000007E: 4, # PRODUCT_ENTERPRISE_S_N
0x00000082: 4, # PRODUCT_ENTERPRISE_S_N_EVALUATION
0x0000000A: 4, # PRODUCT_ENTERPRISE_SERVER
0x0000000E: 4, # PRODUCT_ENTERPRISE_SERVER_CORE
0x00000029: 4, # PRODUCT_ENTERPRISE_SERVER_CORE_V
0x0000000F: 4, # PRODUCT_ENTERPRISE_SERVER_IA64
0x00000026: 4, # PRODUCT_ENTERPRISE_SERVER_V
0x0000003C: 6, # PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL
0x0000003E: 6, # PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC
0x0000003B: 6, # PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT
0x0000003D: 6, # PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC
0x00000002: 0, # PRODUCT_HOME_BASIC
0x00000043: 0, # PRODUCT_HOME_BASIC_E
0x00000005: 0, # PRODUCT_HOME_BASIC_N
0x00000003: 0, # PRODUCT_HOME_PREMIUM
0x00000044: 0, # PRODUCT_HOME_PREMIUM_E
0x0000001A: 0, # PRODUCT_HOME_PREMIUM_N
0x00000022: 0, # PRODUCT_HOME_PREMIUM_SERVER
0x00000013: 1, # PRODUCT_HOME_SERVER
0x0000002A: 7, # PRODUCT_HYPERV
0x0000007B: 8, # PRODUCT_IOTUAP
0x00000083: 8, # PRODUCT_IOTUAPCOMMERCIAL
0x0000001E: 4, # PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT
0x00000020: 4, # PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING
0x0000001F: 4, # PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY
0x00000068: 4, # PRODUCT_MOBILE_CORE
0x00000085: 4, # PRODUCT_MOBILE_ENTERPRISE
0x0000004D: 4, # PRODUCT_MULTIPOINT_PREMIUM_SERVER
0x0000004C: 4, # PRODUCT_MULTIPOINT_STANDARD_SERVER
0x000000A1: 2, # PRODUCT_PRO_WORKSTATION
0x000000A2: 2, # PRODUCT_PRO_WORKSTATION_N
0x00000030: 2, # PRODUCT_PROFESSIONAL
0x00000045: 2, # PRODUCT_PROFESSIONAL_E
0x00000031: 2, # PRODUCT_PROFESSIONAL_N
0x00000067: 2, # PRODUCT_PROFESSIONAL_WMC
0x00000032: 6, # PRODUCT_SB_SOLUTION_SERVER
0x00000036: 6, # PRODUCT_SB_SOLUTION_SERVER_EM
0x00000033: 6, # PRODUCT_SERVER_FOR_SB_SOLUTIONS
0x00000037: 6, # PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM
0x00000018: 6, # PRODUCT_SERVER_FOR_SMALLBUSINESS
0x00000023: 6, # PRODUCT_SERVER_FOR_SMALLBUSINESS_V
0x00000021: 5, # PRODUCT_SERVER_FOUNDATION
0x00000009: 6, # PRODUCT_SMALLBUSINESS_SERVER
0x00000019: 6, # PRODUCT_SMALLBUSINESS_SERVER_PREMIUM
0x0000003F: 6, # PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE
0x00000038: 8, # PRODUCT_SOLUTION_EMBEDDEDSERVER
0x0000004F: 5, # PRODUCT_STANDARD_EVALUATION_SERVER
0x00000007: 5, # PRODUCT_STANDARD_SERVER
0x0000000D: 5, # PRODUCT_STANDARD_SERVER_CORE
0x00000028: 5, # PRODUCT_STANDARD_SERVER_CORE_V
0x00000024: 5, # PRODUCT_STANDARD_SERVER_V
0x00000034: 5, # PRODUCT_STANDARD_SERVER_SOLUTIONS
0x00000035: 5, # PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE
0x0000000B: 5, # PRODUCT_STARTER
0x00000042: 5, # PRODUCT_STARTER_E
0x0000002F: 5, # PRODUCT_STARTER_N
0x00000017: 4, # PRODUCT_STORAGE_ENTERPRISE_SERVER
0x0000002E: 4, # PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE
0x00000014: 5, # PRODUCT_STORAGE_EXPRESS_SERVER
0x0000002B: 5, # PRODUCT_STORAGE_EXPRESS_SERVER_CORE
0x00000060: 5, # PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER
0x00000015: 5, # PRODUCT_STORAGE_STANDARD_SERVER
0x0000002C: 5, # PRODUCT_STORAGE_STANDARD_SERVER_CORE
0x0000005F: 5, # PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER
0x00000016: 5, # PRODUCT_STORAGE_WORKGROUP_SERVER
0x0000002D: 5, # PRODUCT_STORAGE_WORKGROUP_SERVER_CORE
0x00000001: 2, # PRODUCT_ULTIMATE
0x00000047: 2, # PRODUCT_ULTIMATE_E
0x0000001C: 2, # PRODUCT_ULTIMATE_N
0x00000000: 0, # PRODUCT_UNDEFINED
0x00000011: 5, # PRODUCT_WEB_SERVER
0x0000001D: 5, # PRODUCT_WEB_SERVER_CORE
}
#
# enums as defined by the Windows API
#
PRODUCT_BUSINESS = 0x00000006
PRODUCT_BUSINESS_N = 0x00000010
PRODUCT_CLUSTER_SERVER = 0x00000012
PRODUCT_CLUSTER_SERVER_V = 0x00000040
PRODUCT_CORE = 0x00000065
PRODUCT_CORE_COUNTRYSPECIFIC = 0x00000063
PRODUCT_CORE_N = 0x00000062
PRODUCT_CORE_SINGLELANGUAGE = 0x00000064
PRODUCT_DATACENTER_EVALUATION_SERVER = 0x00000050
PRODUCT_DATACENTER_SERVER = 0x00000008
PRODUCT_DATACENTER_SERVER_CORE = 0x0000000C
PRODUCT_DATACENTER_SERVER_CORE_V = 0x00000027
PRODUCT_DATACENTER_SERVER_V = 0x00000025
PRODUCT_EDUCATION = 0x00000079
PRODUCT_EDUCATION_N = 0x0000007A
PRODUCT_ENTERPRISE = 0x00000004
PRODUCT_ENTERPRISE_E = 0x00000046
PRODUCT_ENTERPRISE_EVALUATION = 0x00000048
PRODUCT_ENTERPRISE_N = 0x0000001B
PRODUCT_TERPRISE_N_EVALUATION = 0x00000054
PRODUCT_ENTERPRISE_S = 0x0000007D
PRODUCT_ENTERPRISE_S_EVALUATION = 0x00000081
PRODUCT_ENTERPRISE_S_N = 0x0000007E
PRODUCT_ENTERPRISE_S_N_EVALUATION = 0x00000082
PRODUCT_ENTERPRISE_SERVER = 0x0000000A
PRODUCT_ENTERPRISE_SERVER_CORE = 0x0000000E
PRODUCT_ENTERPRISE_SERVER_CORE_V = 0x00000029
PRODUCT_ENTERPRISE_SERVER_IA64 = 0x0000000F
PRODUCT_ENTERPRISE_SERVER_V = 0x00000026
PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL = 0x0000003C
PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC = 0x0000003E
PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT = 0x0000003B
PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC = 0x0000003D
PRODUCT_HOME_BASIC = 0x00000002
PRODUCT_HOME_BASIC_E = 0x00000043
PRODUCT_HOME_BASIC_N = 0x00000005
PRODUCT_HOME_PREMIUM = 0x00000003
PRODUCT_HOME_PREMIUM_E = 0x00000044
PRODUCT_HOME_PREMIUM_N = 0x0000001A
PRODUCT_HOME_PREMIUM_SERVER = 0x00000022
PRODUCT_HOME_SERVER = 0x00000013
PRODUCT_HYPERV = 0x0000002A
PRODUCT_IOTUAP = 0x0000007B
PRODUCT_IOTUAPCOMMERCIAL = 0x00000083
PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT = 0x0000001E
PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING = 0x00000020
PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY = 0x0000001F
PRODUCT_MOBILE_CORE = 0x00000068
PRODUCT_MOBILE_ENTERPRISE = 0x00000085
PRODUCT_MULTIPOINT_PREMIUM_SERVER = 0x0000004D
PRODUCT_MULTIPOINT_STANDARD_SERVER = 0x0000004C
PRODUCT_PRO_WORKSTATION = 0x000000A1
PRODUCT_PRO_WORKSTATION_N = 0x000000A2
PRODUCT_PROFESSIONAL = 0x00000030
PRODUCT_PROFESSIONAL_E = 0x00000045
PRODUCT_PROFESSIONAL_N = 0x00000031
PRODUCT_PROFESSIONAL_WMC = 0x00000067
PRODUCT_SB_SOLUTION_SERVER = 0x00000032
PRODUCT_SB_SOLUTION_SERVER_EM = 0x00000036
PRODUCT_SERVER_FOR_SB_SOLUTIONS = 0x00000033
PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM = 0x00000037
PRODUCT_SERVER_FOR_SMALLBUSINESS = 0x00000018
PRODUCT_SERVER_FOR_SMALLBUSINESS_V = 0x00000023
PRODUCT_SERVER_FOUNDATION = 0x00000021
PRODUCT_SMALLBUSINESS_SERVER = 0x00000009
PRODUCT_SMALLBUSINESS_SERVER_PREMIUM = 0x00000019
PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE = 0x0000003F
PRODUCT_SOLUTION_EMBEDDEDSERVER = 0x00000038
PRODUCT_STANDARD_EVALUATION_SERVER = 0x0000004F
PRODUCT_STANDARD_SERVER = 0x00000007
PRODUCT_STANDARD_SERVER_CORE = 0x0000000D
PRODUCT_STANDARD_SERVER_CORE_V = 0x00000028
PRODUCT_STANDARD_SERVER_V = 0x00000024
PRODUCT_STANDARD_SERVER_SOLUTIONS = 0x00000034
PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE = 0x00000035
PRODUCT_STARTER = 0x0000000B
PRODUCT_STARTER_E = 0x00000042
PRODUCT_STARTER_N = 0x0000002F
PRODUCT_STORAGE_ENTERPRISE_SERVER = 0x00000017
PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE = 0x0000002E
PRODUCT_STORAGE_EXPRESS_SERVER = 0x00000014
PRODUCT_STORAGE_EXPRESS_SERVER_CORE = 0x0000002B
PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER = 0x00000060
PRODUCT_STORAGE_STANDARD_SERVER = 0x00000015
PRODUCT_STORAGE_STANDARD_SERVER_CORE = 0x0000002C
PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER = 0x0000005F
PRODUCT_STORAGE_WORKGROUP_SERVER = 0x00000016
PRODUCT_STORAGE_WORKGROUP_SERVER_CORE = 0x0000002D
PRODUCT_ULTIMATE = 0x00000001
PRODUCT_ULTIMATE_E = 0x00000047
PRODUCT_ULTIMATE_N = 0x0000001C
PRODUCT_UNDEFINED = 0x00000000
PRODUCT_WEB_SERVER = 0x00000011
PRODUCT_WEB_SERVER_CORE = 0x0000001D
|
8.44.4. Download¶
8.44.5. Resources¶
API: GetProductInfo - [GetProductInfo]
API: GetProductInfo parameter pwReturnedProductType - [pwReturnedProductType]
SDK: Macros for Conditional Declarations - [MACROSRELCOND]