zig
zig

Reputation: 4624

GetProductInfo - pdwReturnedProductType Meaning (The product type)?

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

Answers (1)

Anders
Anders

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

Related Questions