Функция 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. Если указанная операционная система меньше текущей операционной системы, эти сведения сопоставляются с типами, поддерживаемыми указанной операционной системой. Если указанная операционная система больше, чем самая поддерживаемая операционная система, эти сведения сопоставляются с типами, поддерживаемыми текущей операционной системой.
Этот параметр может иметь одно из следующих значений (некоторые продукты ниже могут не поддерживаться).
Значение | Значение |
---|---|
|
бизнеса |
|
Бизнес N |
|
Выпуск HPC |
|
Сервер Hyper Core V |
|
Windows 10 Домашняя |
|
Windows 10 Домашняя Для Китая |
|
Windows 10 Домашняя N |
|
Windows 10 Домашняя с одним языком |
|
Серверный центр обработки данных (ознакомительная установка) |
|
Server Datacenter, Semi-Annual Channel (установка ядра) |
|
Server Standard, Semi-Annual Channel (установка основных компонентов) |
|
Серверный центр обработки данных (полная установка. Для установки основных серверных компонентов Windows Server 2012 и более поздних версий используйте метод Определение того, запущены ли основные серверные компоненты.) |
|
Server Datacenter (базовая установка, Windows Server 2008 R2 и более ранние версии) |
|
Серверный центр обработки данных без Hyper-V (установка ядра) |
|
Серверный центр обработки данных без Hyper-V (полная установка) |
|
Windows 10 для образовательных учреждений |
|
Windows 10 для образовательных учреждений N |
|
Windows 10 Корпоративная |
|
Windows 10 Корпоративная E |
|
Windows 10 Корпоративная с долгосрочным обслуживанием |
|
Windows 10 Корпоративная N |
|
Оценка Windows 10 Корпоративная N |
|
Windows 10 Корпоративная 2015 с долгосрочным обслуживанием |
|
Windows 10 Корпоративная 2015 LTSB Evaluation |
|
Windows 10 Корпоративная 2015 с долгосрочным обслуживанием N |
|
Windows 10 Корпоративная 2015 LTSB N Evaluation |
|
Server Enterprise (полная установка) |
|
Server Enterprise (установка основных компонентов) |
|
Server Enterprise без Hyper-V (установка ядра) |
|
Server Enterprise для систем на основе Itanium |
|
Server Enterprise без Hyper-V (полная установка) |
|
Дополнительное решение Windows Essential Server |
|
Дополнительный SVC для решения Windows Essential Server |
|
Управление решениями Windows Essential Server |
|
Windows Essential Server Solution Management SVC |
|
Домашняя базовая |
|
Не поддерживается |
|
Домашняя базовая N |
|
Домашняя расширенная |
|
Не поддерживается |
|
Домашняя премиум N |
|
Windows Home Server 2011 |
|
Windows Storage Server 2008 R2 Essentials |
|
Microsoft Hyper-V Server |
|
Windows IoT Корпоративная |
|
Windows IoT Enterprise LTSC |
|
Windows 10 IoT Базовая |
|
Windows 10 IoT Базовая Коммерческая |
|
Windows Essential Business Server Management Server |
|
Сервер обмена сообщениями Windows Essential Business Server |
|
Windows Essential Business Server Security Server |
|
Windows 10 Mobile |
|
Windows 10 Mobile Корпоративная |
|
Windows MultiPoint Server Premium (полная установка) |
|
Windows MultiPoint Server Standard (полная установка) |
|
Windows 10 для совместной работы |
|
Windows 10 Pro для образовательных учреждений |
|
Windows 10 Pro для рабочих станций |
|
Windows 10 Pro для рабочих станций N |
|
Windows 10 Pro |
|
Не поддерживается |
|
Windows 10 Pro N |
|
Профессиональный с Media Center |
|
Windows Small Business Server 2011 Essentials |
|
Сервер для решений SB EM |
|
Сервер для решений SB |
|
Сервер для решений SB EM |
|
Windows Server 2008 for Windows Essential Server Solutions |
|
Windows Server 2008 без Hyper-V для решений Windows Essential Server |
|
Server Foundation |
|
Windows 10 Корпоративная для виртуальных рабочих столов |
|
Windows Small Business Server |
|
Small Business Server Premium |
|
Small Business Server Premium (установка основных компонентов) |
|
Windows MultiPoint Server |
|
Server Standard (ознакомительная установка) |
|
Server Standard (полная установка. Для установки основных серверных компонентов Windows Server 2012 и более поздних версий используйте метод Определение того, запущены ли основные серверные компоненты.) |
|
Server Standard (базовая установка, Windows Server 2008 R2 и более ранние версии) |
|
Сервер уровня "Стандартный" без Hyper-V (установка основных компонентов) |
|
Сервер уровня "Стандартный" без Hyper-V |
|
Серверные решения ценовой категории "Премиум" |
|
Серверные решения ценовой категории "Премиум" (установка основных компонентов) |
|
Ключ для начала работы |
|
Не поддерживается |
|
Начальный N |
|
Сервер хранилища Enterprise |
|
Storage Server Enterprise (установка основных компонентов) |
|
Сервер хранилища Express |
|
Сервер хранилища Express (установка основных компонентов) |
|
Сервер хранилища уровня "Стандартный" (ознакомительная установка) |
|
Сервер хранилища уровня "Стандартный" |
|
Сервер хранилища уровня "Стандартный" (установка основных компонентов) |
|
Рабочая группа сервера хранилища (ознакомительная установка) |
|
Рабочая группа сервера хранилища |
|
Рабочая группа сервера хранилища (установка ядра) |
|
Ultimate |
|
Не поддерживается |
|
Ultimate N |
|
Неизвестный продукт |
|
Веб-сервер (полная установка) |
|
Веб-сервер (установка основных компонентов) |
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет ненулевым.
Если функция выполняется неудачно, возвращается нулевое значение. Эта функция завершается ошибкой, если один из входных параметров недопустим.
Комментарии
Чтобы определить, установлена ли роль сервера или компонент, используйте поставщик 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 |