Reputation: 4624
I'm creating a function to display Windows version string using GetProductInfo, and having some problem understanding the documentation about pdwReturnedProductType
(The product type).
In the Meaning
column it is stated for example that PRODUCT_PROFESSIONAL
means Windows 10 Pro
, but this is true to Windows 7 as well.
PRODUCT_EDUCATION
says Windows 10 Education
; PRODUCT_CORE
says Windows 10 Home
(and so on) but is that can apply to other versions?
Is the Windows 10
meant to be an example only? Are there any constants that meant to identify Windows 10 only?
Another example is PRODUCT_HOME_PREMIUM_SERVER
that means Windows Home Server 2011
. is this apply only to Windows Home Server 2011?
Upvotes: 2
Views: 931
Reputation: 101756
Yes, some of the Meaning columns are examples. You can verify this by looking at an older version of the documentation:
PRODUCT_CORE Windows 8
PRODUCT_HOME_PREMIUM_SERVER
only applies to 2011 (the only other home server release was 2003 R2 before the Premium SKU existed). Microsoft might release another home server in the future but it seems unlikely at this point.
GetProductInfo
takes a version number as input because it tries to map newer values created after your application has been released:
Subsequent releases of Windows will map the product types it supports to the set of product types supported by each supported previous release of Windows, back to version 6.0.0.0. Therefore, an application that does an equality test for any of these values will continue to work on future releases, even when new product types are added.
Upvotes: 3