Função GetProductInfo (sysinfoapi.h)

Recupera o tipo de produto para o sistema operacional no computador local e mapeia o tipo para os tipos de produto compatíveis com o sistema operacional especificado.

Para recuperar informações de tipo de produto em versões do Windows antes dos sistemas operacionais mínimos com suporte especificados na seção Requisitos, use a função GetVersionEx . Você também pode usar a propriedade OperatingSystemSKU da classe WMI Win32_OperatingSystem .

Sintaxe

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

Parâmetros

[in] dwOSMajorVersion

O número de versão principal do sistema operacional. O valor mínimo é 6.

A combinação dos parâmetros dwOSMajorVersion, dwOSMinorVersion, dwSpMajorVersion e dwSpMinorVersion descreve a versão máxima do sistema operacional de destino para o aplicativo. Por exemplo, o Windows Vista e o Windows Server 2008 são a versão 6.0.0.0 e o Windows 7 e o Windows Server 2008 R2 são a versão 6.1.0.0. Todas as versões baseadas no Windows 10 serão listadas como versão 6.3.

[in] dwOSMinorVersion

O número de versão secundária do sistema operacional. O valor mínimo é 0.

[in] dwSpMajorVersion

O número de versão principal do service pack do sistema operacional. O valor mínimo é 0.

[in] dwSpMinorVersion

O número da versão secundária do service pack do sistema operacional. O valor mínimo é 0.

[out] pdwReturnedProductType

O tipo de produto. Esse parâmetro não pode ser NULL. Se o sistema operacional especificado for menor que o sistema operacional atual, essas informações serão mapeadas para os tipos compatíveis com o sistema operacional especificado. Se o sistema operacional especificado for maior que o sistema operacional com suporte mais alto, essas informações serão mapeadas para os tipos compatíveis com o sistema operacional atual.

Esse parâmetro pode ser um dos seguintes valores (alguns produtos abaixo podem estar sem suporte).

Valor Significado
PRODUCT_BUSINESS
0x00000006
Empresas
PRODUCT_BUSINESS_N
0x00000010
Business N
PRODUCT_CLUSTER_SERVER
0x00000012
HPC Edition
PRODUCT_CLUSTER_SERVER_V
0x00000040
Servidor Hyper Core V
PRODUCT_CORE
0x00000065
Windows 10 Home
PRODUCT_CORE_COUNTRYSPECIFIC
0x00000063
Windows 10 Home China
PRODUCT_CORE_N
0x00000062
Windows 10 Home N
PRODUCT_CORE_SINGLELANGUAGE
0x00000064
Windows 10 Home Single Language
PRODUCT_DATACENTER_EVALUATION_SERVER
0x00000050
Server Datacenter (instalação de avaliação)
PRODUCT_DATACENTER_A_SERVER_CORE
0x00000091
Server Datacenter, canal Semi-Annual (instalação principal)
PRODUCT_STANDARD_A_SERVER_CORE
0x00000092
Server Standard, canal Semi-Annual (instalação principal)
PRODUCT_DATACENTER_SERVER
0x00000008
Datacenter do Servidor (instalação completa. Para instalações server core do Windows Server 2012 e posterior, use o método , Determinando se o Server Core está em execução.)
PRODUCT_DATACENTER_SERVER_CORE
0x0000000C
Server Datacenter (instalação principal, Windows Server 2008 R2 e anterior)
PRODUCT_DATACENTER_SERVER_CORE_V
0x00000027
Server Datacenter sem Hyper-V (instalação principal)
PRODUCT_DATACENTER_SERVER_V
0x00000025
Server Datacenter sem Hyper-V (instalação completa)
PRODUCT_EDUCATION
0x00000079
Windows 10 Education
PRODUCT_EDUCATION_N
0x0000007A
Windows 10 Education N
PRODUCT_ENTERPRISE
0x00000004
Windows 10 Enterprise
PRODUCT_ENTERPRISE_E
0x00000046
Windows 10 Enterprise E
PRODUCT_ENTERPRISE_EVALUATION
0x00000048
Windows 10 Enterprise Evaluation
PRODUCT_ENTERPRISE_N
0x0000001B
Windows 10 Enterprise N
PRODUCT_ENTERPRISE_N_EVALUATION
0x00000054
Avaliação do Windows 10 Enterprise N
PRODUCT_ENTERPRISE_S
0x0000007D
Windows 10 Enterprise 2015 LTSB
PRODUCT_ENTERPRISE_S_EVALUATION
0x00000081
Avaliação do LTSB Windows 10 Enterprise 2015
PRODUCT_ENTERPRISE_S_N
0x0000007E
Windows 10 Enterprise 2015 LTSB N
PRODUCT_ENTERPRISE_S_N_EVALUATION
0x00000082
Avaliação do WINDOWS 10 ENTERPRISE 2015 LTSB N
PRODUCT_ENTERPRISE_SERVER
0x0000000A
Server Enterprise (instalação completa)
PRODUCT_ENTERPRISE_SERVER_CORE
0x0000000E
Server Enterprise (instalação principal)
PRODUCT_ENTERPRISE_SERVER_CORE_V
0x00000029
Server Enterprise sem Hyper-V (instalação principal)
PRODUCT_ENTERPRISE_SERVER_IA64
0x0000000F
Server Enterprise para sistemas baseados em Itanium
PRODUCT_ENTERPRISE_SERVER_V
0x00000026
Server Enterprise sem Hyper-V (instalação completa)
PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL
0x0000003C
Solução do Windows Essential Server Adicional
PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC
0x0000003E
SVC adicional da solução do Windows Essential Server
PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT
0x0000003B
Gerenciamento de Soluções do Windows Essential Server
PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC
0x0000003D
SVC do Gerenciamento de Soluções do Windows Essential Server
PRODUCT_HOME_BASIC
0x00000002
Home Basic
PRODUCT_HOME_BASIC_E
0x00000043
Sem suporte
PRODUCT_HOME_BASIC_N
0x00000005
Home Basic N
PRODUCT_HOME_PREMIUM
0x00000003
Home Premium
PRODUCT_HOME_PREMIUM_E
0x00000044
Sem suporte
PRODUCT_HOME_PREMIUM_N
0x0000001A
Home Premium 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 Enterprise
PRODUCT_IOTENTERPRISE_S
0x000000BF
Windows IoT Enterprise LTSC
PRODUCT_IOTUAP
0x0000007B
Windows 10 IoT Core
PRODUCT_IOTUAPCOMMERCIAL
0x00000083
Windows 10 IoT Core Comercial
PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT
0x0000001E
Servidor de Gerenciamento do Windows Essential Business Server
PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING
0x00000020
Windows Essential Business Server Messaging Server
PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY
0x0000001F
Servidor de Segurança do Windows Essential Business Server
PRODUCT_MOBILE_CORE
0x00000068
Windows 10 Mobile
PRODUCT_MOBILE_ENTERPRISE
0x00000085
Windows 10 Mobile Enterprise
PRODUCT_MULTIPOINT_PREMIUM_SERVER
0x0000004D
Windows MultiPoint Server Premium (instalação completa)
PRODUCT_MULTIPOINT_STANDARD_SERVER
0x0000004C
Windows MultiPoint Server Standard (instalação completa)
PRODUCT_PPI_PRO
0x00000077
Windows 10 Team
PRODUCT_PRO_FOR_EDUCATION
0x000000A4
Windows 10 Pro Education
PRODUCT_PRO_WORKSTATION
0x000000A1
Windows 10 Pro for Workstations
PRODUCT_PRO_WORKSTATION_N
0x000000A2
Windows 10 Pro para Estações de Trabalho N
PRODUCT_PROFESSIONAL
0x00000030
Windows 10 Pro
PRODUCT_PROFESSIONAL_E
0x00000045
Sem suporte
PRODUCT_PROFESSIONAL_N
0x00000031
Windows 10 Pro N
PRODUCT_PROFESSIONAL_WMC
0x00000067
Profissional com o Media Center
PRODUCT_SB_SOLUTION_SERVER
0x00000032
Windows Small Business Server 2011 Essentials
PRODUCT_SB_SOLUTION_SERVER_EM
0x00000036
Server For SB Solutions EM
PRODUCT_SERVER_FOR_SB_SOLUTIONS
0x00000033
Server For SB Solutions
PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM
0x00000037
Server For SB Solutions EM
PRODUCT_SERVER_FOR_SMALLBUSINESS
0x00000018
Windows Server 2008 para Soluções do Windows Essential Server
PRODUCT_SERVER_FOR_SMALLBUSINESS_V
0x00000023
Windows Server 2008 sem Hyper-V para Soluções do Windows Essential Server
PRODUCT_SERVER_FOUNDATION
0x00000021
Server Foundation
PRODUCT_SERVERRDSH
0x000000AF
Windows 10 Enterprise para Áreas de Trabalho Virtuais
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 (instalação principal)
PRODUCT_SOLUTION_EMBEDDEDSERVER
0x00000038
Windows MultiPoint Server
PRODUCT_STANDARD_EVALUATION_SERVER
0x0000004F
Server Standard (instalação de avaliação)
PRODUCT_STANDARD_SERVER
0x00000007
Server Standard (instalação completa. Para instalações server core do Windows Server 2012 e posterior, use o método , Determinando se o Server Core está em execução.)
PRODUCT_STANDARD_SERVER_CORE
0x0000000D
Server Standard (instalação principal, Windows Server 2008 R2 e anterior)
PRODUCT_STANDARD_SERVER_CORE_V
0x00000028
Server Standard sem Hyper-V (instalação principal)
PRODUCT_STANDARD_SERVER_V
0x00000024
Servidor Standard sem Hyper-V
PRODUCT_STANDARD_SERVER_SOLUTIONS
0x00000034
Soluções de servidor Premium
PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE
0x00000035
Soluções de Servidor Premium (instalação principal)
PRODUCT_STARTER
0x0000000B
Inicial
PRODUCT_STARTER_E
0x00000042
Sem suporte
PRODUCT_STARTER_N
0x0000002F
Starter N
PRODUCT_STORAGE_ENTERPRISE_SERVER
0x00000017
Servidor de Armazenamento Enterprise
PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE
0x0000002E
Storage Server Enterprise (instalação principal)
PRODUCT_STORAGE_EXPRESS_SERVER
0x00000014
Storage Server Express
PRODUCT_STORAGE_EXPRESS_SERVER_CORE
0x0000002B
Storage Server Express (instalação principal)
PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER
0x00000060
Servidor de Armazenamento Standard (instalação de avaliação)
PRODUCT_STORAGE_STANDARD_SERVER
0x00000015
Servidor de Armazenamento Standard
PRODUCT_STORAGE_STANDARD_SERVER_CORE
0x0000002C
Servidor de Armazenamento Standard (instalação principal)
PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER
0x0000005F
Grupo de Trabalho do Servidor de Armazenamento (instalação de avaliação)
PRODUCT_STORAGE_WORKGROUP_SERVER
0x00000016
Grupo de Trabalho do Servidor de Armazenamento
PRODUCT_STORAGE_WORKGROUP_SERVER_CORE
0x0000002D
Grupo de Trabalho do Servidor de Armazenamento (instalação principal)
PRODUCT_ULTIMATE
0x00000001
Ultimate
PRODUCT_ULTIMATE_E
0x00000047
Sem suporte
PRODUCT_ULTIMATE_N
0x0000001C
Ultimate N
PRODUCT_UNDEFINED
0x00000000
Um produto desconhecido
PRODUCT_WEB_SERVER
0x00000011
Servidor Web (instalação completa)
PRODUCT_WEB_SERVER_CORE
0x0000001D
Servidor Web (instalação principal)

Valor retornado

Se a função for bem-sucedida, o valor retornado será um valor diferente de zero.

Se a função falhar, o valor retornado será zero. Essa função falhará se um dos parâmetros de entrada for inválido.

Comentários

Para detectar se uma função de servidor ou recurso está instalado, use o provedor WMI de Recurso do Servidor .

As versões subsequentes do Windows mapearão os tipos de produto compatíveis com o conjunto de tipos de produtos compatíveis com cada versão anterior com suporte do Windows, de volta à versão 6.0.0.0. Portanto, um aplicativo que faz um teste de igualdade para qualquer um desses valores continuará funcionando em versões futuras, mesmo quando novos tipos de produto forem adicionados.

PRODUCT_*os valores de _SERVER_CORE não são retornados no Windows Server 2012 e posteriores. Por exemplo, a edição do servidor base, Server Datacenter, é usada para criar as duas opções de instalação diferentes: "servidor completo" e "servidor principal". Com o Windows Server 2012, GetProductInfo retornará PRODUCT_DATACENTER independentemente da opção usada durante a instalação do produto. Conforme observado acima, para instalações do Server Core do Windows Server 2012 e posteriores, use o método Determinando se o Server Core está em execução.

A tabela a seguir indica os tipos de produto introduzidos na versão 6.1.0.0 e o que serão mapeados se GetProductInfo for chamado com a versão 6.0.0.0 em um sistema 6.1.0.0.

Novo para 6.1.0.0 Valor retornado com 6.0.0.0
PRODUCT_PROFESSIONAL PRODUCT_BUSINESS
PRODUCT_PROFESSIONAL_N PRODUCT_BUSINESS_N
PRODUCT_STARTER_N PRODUCT_STARTER
 

Para compilar um aplicativo que usa essa função, defina _WIN32_WINNT como 0x0600 ou posterior. Para obter mais informações, consulte Usando os cabeçalhos do Windows.

Exemplos

Para obter um exemplo, consulte Obtendo a versão do sistema.

Requisitos

   
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho sysinfoapi.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

Funções de informações do sistema