Функция GetProductInfo (sysinfoapi.h)

Извлекает тип продукта для операционной системы на локальном компьютере и сопоставляет тип с типами продуктов, поддерживаемыми указанной операционной системой.

Чтобы получить сведения о типах продуктов для версий Windows до минимально поддерживаемых операционных систем, указанных в разделе Требования, используйте функцию GetVersionEx . Можно также использовать свойство OperatingSystemSKUкласса WMI Win32_OperatingSystem .

Синтаксис

BOOL GetProductInfo(
  [in]  DWORD  dwOSMajorVersion,
  [in]  DWORD  dwOSMinorVersion,
  [in]  DWORD  dwSpMajorVersion,
  [in]  DWORD  dwSpMinorVersion,
  [out] PDWORD pdwReturnedProductType
);

Параметры

[in] dwOSMajorVersion

Основной номер версии операционной системы. Минимальное значение — 6.

Сочетание параметров dwOSMajorVersion, dwOSMinorVersion, dwSpMajorVersion и dwSpMinorVersion описывает максимальную версию целевой операционной системы для приложения. Например, Windows Vista и Windows Server 2008 имеют версию 6.0.0.0, а Windows 7 и Windows Server 2008 R2 — версию 6.1.0.0. Все выпуски на основе Windows 10 будут перечислены как версии 6.3.

[in] dwOSMinorVersion

Дополнительный номер версии операционной системы. Минимальное значение — 0.

[in] dwSpMajorVersion

Основной номер версии пакета обновления операционной системы. Минимальное значение — 0.

[in] dwSpMinorVersion

Дополнительный номер версии пакета обновления операционной системы. Минимальное значение — 0.

[out] pdwReturnedProductType

Тип продукта. Этот параметр не может иметь значение NULL. Если указанная операционная система меньше текущей операционной системы, эти сведения сопоставляются с типами, поддерживаемыми указанной операционной системой. Если указанная операционная система больше, чем самая поддерживаемая операционная система, эти сведения сопоставляются с типами, поддерживаемыми текущей операционной системой.

Этот параметр может иметь одно из следующих значений (некоторые продукты ниже могут не поддерживаться).

Значение Значение
PRODUCT_BUSINESS
0x00000006
бизнеса
PRODUCT_BUSINESS_N
0x00000010
Бизнес N
PRODUCT_CLUSTER_SERVER
0x00000012
Выпуск HPC
PRODUCT_CLUSTER_SERVER_V
0x00000040
Сервер Hyper Core V
PRODUCT_CORE
0x00000065
Windows 10 Домашняя
PRODUCT_CORE_COUNTRYSPECIFIC
0x00000063
Windows 10 Домашняя Для Китая
PRODUCT_CORE_N
0x00000062
Windows 10 Домашняя N
PRODUCT_CORE_SINGLELANGUAGE
0x00000064
Windows 10 Домашняя с одним языком
PRODUCT_DATACENTER_EVALUATION_SERVER
0x00000050
Серверный центр обработки данных (ознакомительная установка)
PRODUCT_DATACENTER_A_SERVER_CORE
0x00000091
Server Datacenter, Semi-Annual Channel (установка ядра)
PRODUCT_STANDARD_A_SERVER_CORE
0x00000092
Server Standard, Semi-Annual Channel (установка основных компонентов)
PRODUCT_DATACENTER_SERVER
0x00000008
Серверный центр обработки данных (полная установка. Для установки основных серверных компонентов Windows Server 2012 и более поздних версий используйте метод Определение того, запущены ли основные серверные компоненты.)
PRODUCT_DATACENTER_SERVER_CORE
0x0000000C
Server Datacenter (базовая установка, Windows Server 2008 R2 и более ранние версии)
PRODUCT_DATACENTER_SERVER_CORE_V
0x00000027
Серверный центр обработки данных без Hyper-V (установка ядра)
PRODUCT_DATACENTER_SERVER_V
0x00000025
Серверный центр обработки данных без Hyper-V (полная установка)
PRODUCT_EDUCATION
0x00000079
Windows 10 для образовательных учреждений
PRODUCT_EDUCATION_N
0x0000007A
Windows 10 для образовательных учреждений N
PRODUCT_ENTERPRISE
0x00000004
Windows 10 Корпоративная
PRODUCT_ENTERPRISE_E
0x00000046
Windows 10 Корпоративная E
PRODUCT_ENTERPRISE_EVALUATION
0x00000048
Windows 10 Корпоративная с долгосрочным обслуживанием
PRODUCT_ENTERPRISE_N
0x0000001B
Windows 10 Корпоративная N
PRODUCT_ENTERPRISE_N_EVALUATION
0x00000054
Оценка Windows 10 Корпоративная N
PRODUCT_ENTERPRISE_S
0x0000007D
Windows 10 Корпоративная 2015 с долгосрочным обслуживанием
PRODUCT_ENTERPRISE_S_EVALUATION
0x00000081
Windows 10 Корпоративная 2015 LTSB Evaluation
PRODUCT_ENTERPRISE_S_N
0x0000007e
Windows 10 Корпоративная 2015 с долгосрочным обслуживанием N
PRODUCT_ENTERPRISE_S_N_EVALUATION
0x00000082
Windows 10 Корпоративная 2015 LTSB N Evaluation
PRODUCT_ENTERPRISE_SERVER
0x0000000a
Server Enterprise (полная установка)
PRODUCT_ENTERPRISE_SERVER_CORE
0x0000000E
Server Enterprise (установка основных компонентов)
PRODUCT_ENTERPRISE_SERVER_CORE_V
0x00000029
Server Enterprise без Hyper-V (установка ядра)
PRODUCT_ENTERPRISE_SERVER_IA64
0x0000000F
Server Enterprise для систем на основе Itanium
PRODUCT_ENTERPRISE_SERVER_V
0x00000026
Server Enterprise без Hyper-V (полная установка)
PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL
0x0000003C
Дополнительное решение Windows Essential Server
PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC
0x0000003E
Дополнительный SVC для решения Windows Essential Server
PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT
0x0000003B
Управление решениями Windows Essential Server
PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC
0x0000003D
Windows Essential Server Solution Management SVC
PRODUCT_HOME_BASIC
0x00000002
Домашняя базовая
PRODUCT_HOME_BASIC_E
0x00000043
Не поддерживается
PRODUCT_HOME_BASIC_N
0x00000005
Домашняя базовая N
PRODUCT_HOME_PREMIUM
0x00000003
Домашняя расширенная
PRODUCT_HOME_PREMIUM_E
0x00000044
Не поддерживается
PRODUCT_HOME_PREMIUM_N
0x0000001A
Домашняя премиум N
PRODUCT_HOME_PREMIUM_SERVER
0x00000022
Windows Home Server 2011
PRODUCT_HOME_SERVER
0x00000013
Windows Storage Server 2008 R2 Essentials
PRODUCT_HYPERV
0x0000002A
Microsoft Hyper-V Server
PRODUCT_IOTENTERPRISE
0x000000BC
Windows IoT Корпоративная
PRODUCT_IOTENTERPRISE_S
0x000000BF
Windows IoT Enterprise LTSC
PRODUCT_IOTUAP
0x0000007b
Windows 10 IoT Базовая
PRODUCT_IOTUAPCOMMERCIAL
0x00000083
Windows 10 IoT Базовая Коммерческая
PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT
0x0000001e
Windows Essential Business Server Management Server
PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING
0x00000020
Сервер обмена сообщениями Windows Essential Business Server
PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY
0x0000001F
Windows Essential Business Server Security Server
PRODUCT_MOBILE_CORE
0x00000068
Windows 10 Mobile
PRODUCT_MOBILE_ENTERPRISE
0x00000085
Windows 10 Mobile Корпоративная
PRODUCT_MULTIPOINT_PREMIUM_SERVER
0x0000004D
Windows MultiPoint Server Premium (полная установка)
PRODUCT_MULTIPOINT_STANDARD_SERVER
0x0000004C
Windows MultiPoint Server Standard (полная установка)
PRODUCT_PPI_PRO
0x00000077
Windows 10 для совместной работы
PRODUCT_PRO_FOR_EDUCATION
0x000000A4
Windows 10 Pro для образовательных учреждений
PRODUCT_PRO_WORKSTATION
0x000000A1
Windows 10 Pro для рабочих станций
PRODUCT_PRO_WORKSTATION_N
0x000000A2
Windows 10 Pro для рабочих станций N
PRODUCT_PROFESSIONAL
0x00000030
Windows 10 Pro
PRODUCT_PROFESSIONAL_E
0x00000045
Не поддерживается
PRODUCT_PROFESSIONAL_N
0x00000031
Windows 10 Pro N
PRODUCT_PROFESSIONAL_WMC
0x00000067
Профессиональный с Media Center
PRODUCT_SB_SOLUTION_SERVER
0x00000032
Windows Small Business Server 2011 Essentials
PRODUCT_SB_SOLUTION_SERVER_EM
0x00000036
Сервер для решений SB EM
PRODUCT_SERVER_FOR_SB_SOLUTIONS
0x00000033
Сервер для решений SB
PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM
0x00000037
Сервер для решений SB EM
PRODUCT_SERVER_FOR_SMALLBUSINESS
0x00000018
Windows Server 2008 for Windows Essential Server Solutions
PRODUCT_SERVER_FOR_SMALLBUSINESS_V
0x00000023
Windows Server 2008 без Hyper-V для решений Windows Essential Server
PRODUCT_SERVER_FOUNDATION
0x00000021
Server Foundation
PRODUCT_SERVERRDSH
0x000000AF
Windows 10 Корпоративная для виртуальных рабочих столов
PRODUCT_SMALLBUSINESS_SERVER
0x00000009
Windows Small Business Server
PRODUCT_SMALLBUSINESS_SERVER_PREMIUM
0x00000019
Small Business Server Premium
PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE
0x0000003F
Small Business Server Premium (установка основных компонентов)
PRODUCT_SOLUTION_EMBEDDEDSERVER
0x00000038
Windows MultiPoint Server
PRODUCT_STANDARD_EVALUATION_SERVER
0x0000004F
Server Standard (ознакомительная установка)
PRODUCT_STANDARD_SERVER
0x00000007
Server Standard (полная установка. Для установки основных серверных компонентов Windows Server 2012 и более поздних версий используйте метод Определение того, запущены ли основные серверные компоненты.)
PRODUCT_STANDARD_SERVER_CORE
0x0000000D
Server Standard (базовая установка, Windows Server 2008 R2 и более ранние версии)
PRODUCT_STANDARD_SERVER_CORE_V
0x00000028
Сервер уровня "Стандартный" без Hyper-V (установка основных компонентов)
PRODUCT_STANDARD_SERVER_V
0x00000024
Сервер уровня "Стандартный" без Hyper-V
PRODUCT_STANDARD_SERVER_SOLUTIONS
0x00000034
Серверные решения ценовой категории "Премиум"
PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE
0x00000035
Серверные решения ценовой категории "Премиум" (установка основных компонентов)
PRODUCT_STARTER
0x0000000B
Ключ для начала работы
PRODUCT_STARTER_E
0x00000042
Не поддерживается
PRODUCT_STARTER_N
0x0000002F
Начальный N
PRODUCT_STORAGE_ENTERPRISE_SERVER
0x00000017
Сервер хранилища Enterprise
PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE
0x0000002E
Storage Server Enterprise (установка основных компонентов)
PRODUCT_STORAGE_EXPRESS_SERVER
0x00000014
Сервер хранилища Express
PRODUCT_STORAGE_EXPRESS_SERVER_CORE
0x0000002B
Сервер хранилища Express (установка основных компонентов)
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
Ultimate
PRODUCT_ULTIMATE_E
0x00000047
Не поддерживается
PRODUCT_ULTIMATE_N
0x0000001C
Ultimate N
PRODUCT_UNDEFINED
0x00000000
Неизвестный продукт
PRODUCT_WEB_SERVER
0x00000011
Веб-сервер (полная установка)
PRODUCT_WEB_SERVER_CORE
0x0000001D
Веб-сервер (установка основных компонентов)

Возвращаемое значение

Если функция выполняется успешно, возвращаемое значение будет ненулевым.

Если функция выполняется неудачно, возвращается нулевое значение. Эта функция завершается ошибкой, если один из входных параметров недопустим.

Комментарии

Чтобы определить, установлена ли роль сервера или компонент, используйте поставщик WMI компонента сервера .

Последующие выпуски Windows будут сопоставлять поддерживаемые типы продуктов с набором типов продуктов, поддерживаемых каждым из поддерживаемых предыдущих выпусков Windows, начиная с версии 6.0.0.0. Поэтому приложение, которое выполняет проверку на равенство для любого из этих значений, будет продолжать работать в будущих выпусках даже при добавлении новых типов продуктов.

PRODUCT_*_SERVER_CORE значения не возвращаются в Windows Server 2012 и более поздних версиях. Например, выпуск base server, Server Datacenter, используется для сборки двух различных вариантов установки: "полный сервер" и "основной сервер". В Windows Server 2012 GetProductInfo возвращает PRODUCT_DATACENTER независимо от параметра, используемого во время установки продукта. Как отмечалось выше, для установки основных серверных компонентов Windows Server 2012 и более поздних версий используйте метод Определение того, запущены ли основные серверные компоненты.

В следующей таблице указаны типы продуктов, представленные в версии 6.1.0.0, и то, с чем они будут сопоставляться, если метод GetProductInfo вызывается с версией 6.0.0.0 в системе 6.1.0.0.

Новые возможности для версии 6.1.0.0 Значение, возвращаемое с 6.0.0.0
PRODUCT_PROFESSIONAL PRODUCT_BUSINESS
PRODUCT_PROFESSIONAL_N PRODUCT_BUSINESS_N
PRODUCT_STARTER_N PRODUCT_STARTER
 

Чтобы скомпилировать приложение, использующее эту функцию, определите _WIN32_WINNT как 0x0600 или более поздней версии. Дополнительные сведения см. в разделе Использование заголовков Windows.

Примеры

Пример см. в разделе Получение версии системы.

Требования

   
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header sysinfoapi.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

Функции сведений о системе