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

windows_products.py

8.44.5. Resources