Función GetProductInfo (sysinfoapi.h)

Recupera el tipo de producto del sistema operativo en el equipo local y asigna el tipo a los tipos de producto admitidos por el sistema operativo especificado.

Para recuperar información de tipo de producto en versiones de Windows anteriores a los sistemas operativos mínimos admitidos especificados en la sección Requisitos, use la función GetVersionEx . También puede usar la propiedad OperatingSystemSKU de la Win32_OperatingSystem clase WMI.

Sintaxis

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

Parámetros

[in] dwOSMajorVersion

Número de versión principal del sistema operativo. El valor mínimo es 6.

La combinación de los parámetros dwOSMajorVersion, dwOSMinorVersion, dwSpMajorVersion y dwSpMinorVersion describe la versión máxima del sistema operativo de destino para la aplicación. Por ejemplo, Windows Vista y Windows Server 2008 son la versión 6.0.0.0 y Windows 7 y Windows Server 2008 R2 son la versión 6.1.0.0. Todas las versiones basadas en Windows 10 se mostrarán como la versión 6.3.

[in] dwOSMinorVersion

Número de versión secundaria del sistema operativo. El valor mínimo es 0.

[in] dwSpMajorVersion

Número de versión principal del Service Pack del sistema operativo. El valor mínimo es 0.

[in] dwSpMinorVersion

Número de versión secundaria del service pack del sistema operativo. El valor mínimo es 0.

[out] pdwReturnedProductType

Tipo de producto. Este parámetro no puede ser NULL. Si el sistema operativo especificado es menor que el sistema operativo actual, esta información se asigna a los tipos admitidos por el sistema operativo especificado. Si el sistema operativo especificado es mayor que el sistema operativo admitido más alto, esta información se asigna a los tipos admitidos por el sistema operativo actual.

Este parámetro puede ser uno de los siguientes valores (algunos productos siguientes pueden no ser compatibles).

Value Significado
PRODUCT_BUSINESS
0x00000006
Business
PRODUCT_BUSINESS_N
0x00000010
Negocio N
PRODUCT_CLUSTER_SERVER
0x00000012
HPC Edition
PRODUCT_CLUSTER_SERVER_V
0x00000040
Server 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
Centro de datos del servidor (instalación de evaluación)
PRODUCT_DATACENTER_A_SERVER_CORE
0x00000091
Centro de datos del servidor, canal de Semi-Annual (instalación principal)
PRODUCT_STANDARD_A_SERVER_CORE
0x00000092
Server Standard, canal de Semi-Annual (instalación principal)
PRODUCT_DATACENTER_SERVER
0x00000008
Centro de datos del servidor (instalación completa. Para las instalaciones server Core de Windows Server 2012 y versiones posteriores, use el método Determinar si Server Core se está ejecutando).
PRODUCT_DATACENTER_SERVER_CORE
0x0000000C
Server Datacenter (instalación principal, Windows Server 2008 R2 y versiones anteriores)
PRODUCT_DATACENTER_SERVER_CORE_V
0x00000027
Centro de datos de servidor sin Hyper-V (instalación principal)
PRODUCT_DATACENTER_SERVER_V
0x00000025
Centro de datos de servidor sin Hyper-V (instalación 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
evaluación de Windows 10 Enterprise N
PRODUCT_ENTERPRISE_S
0x0000007D
Windows 10 Enterprise 2015 LTSB
PRODUCT_ENTERPRISE_S_EVALUATION
0x00000081
evaluación de Windows 10 Enterprise 2015 LTSB
PRODUCT_ENTERPRISE_S_N
0x0000007E
Windows 10 Enterprise 2015 LTSB N
PRODUCT_ENTERPRISE_S_N_EVALUATION
0x00000082
Evaluación de Windows 10 Enterprise 2015 LTSB N
PRODUCT_ENTERPRISE_SERVER
0x0000000A
Server Enterprise (instalación completa)
PRODUCT_ENTERPRISE_SERVER_CORE
0x0000000E
Server Enterprise (instalación principal)
PRODUCT_ENTERPRISE_SERVER_CORE_V
0x00000029
Server Enterprise sin Hyper-V (instalación principal)
PRODUCT_ENTERPRISE_SERVER_IA64
0x0000000F
Server Enterprise para sistemas basados en Itanium
PRODUCT_ENTERPRISE_SERVER_V
0x00000026
Server Enterprise sin Hyper-V (instalación completa)
PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL
0x0000003C
Solución de Windows Essential Server adicional
PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC
0x0000003E
Solución de Windows Essential Server Adicional SVC
PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT
0x0000003B
Administración de soluciones de Windows Essential Server
PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC
0x0000003D
Windows Essential Server Solution Management SVC
PRODUCT_HOME_BASIC
0x00000002
Home Basic
PRODUCT_HOME_BASIC_E
0x00000043
No compatible
PRODUCT_HOME_BASIC_N
0x00000005
Inicio Básico N
PRODUCT_HOME_PREMIUM
0x00000003
Home Premium
PRODUCT_HOME_PREMIUM_E
0x00000044
No compatible
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 administración de Windows Essential Business Server
PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING
0x00000020
Servidor de mensajería de Windows Essential Business Server
PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY
0x0000001F
Servidor de seguridad de 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 (instalación completa)
PRODUCT_MULTIPOINT_STANDARD_SERVER
0x0000004C
Windows MultiPoint Server Standard (instalación 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 for Workstations N
PRODUCT_PROFESSIONAL
0x00000030
Windows 10 Pro
PRODUCT_PROFESSIONAL_E
0x00000045
No compatible
PRODUCT_PROFESSIONAL_N
0x00000031
Windows 10 Pro N
PRODUCT_PROFESSIONAL_WMC
0x00000067
Profesional con Media Center
PRODUCT_SB_SOLUTION_SERVER
0x00000032
Windows Small Business Server 2011 Essentials
PRODUCT_SB_SOLUTION_SERVER_EM
0x00000036
Servidor para SB Solutions EM
PRODUCT_SERVER_FOR_SB_SOLUTIONS
0x00000033
Server For SB Solutions
PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM
0x00000037
Servidor para SB Solutions EM
PRODUCT_SERVER_FOR_SMALLBUSINESS
0x00000018
Windows Server 2008 para soluciones de Windows Essential Server
PRODUCT_SERVER_FOR_SMALLBUSINESS_V
0x00000023
Windows Server 2008 sin Hyper-V para soluciones de Windows Essential Server
PRODUCT_SERVER_FOUNDATION
0x00000021
Server Foundation
PRODUCT_SERVERRDSH
0x000000AF
Windows 10 Enterprise para Escritorios virtuales
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 (instalación principal)
PRODUCT_SOLUTION_EMBEDDEDSERVER
0x00000038
Windows MultiPoint Server
PRODUCT_STANDARD_EVALUATION_SERVER
0x0000004F
Server Standard (instalación de evaluación)
PRODUCT_STANDARD_SERVER
0x00000007
Server Standard (instalación completa. Para las instalaciones de Server Core de Windows Server 2012 y versiones posteriores, use el método Determinación de si Server Core se está ejecutando).
PRODUCT_STANDARD_SERVER_CORE
0x0000000D
Server Standard (instalación básica, Windows Server 2008 R2 y versiones anteriores)
PRODUCT_STANDARD_SERVER_CORE_V
0x00000028
Server Standard sin Hyper-V (instalación principal)
PRODUCT_STANDARD_SERVER_V
0x00000024
Server Standard sin Hyper-V
PRODUCT_STANDARD_SERVER_SOLUTIONS
0x00000034
Soluciones de servidor Premium
PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE
0x00000035
Server Solutions Premium (instalación principal)
PRODUCT_STARTER
0x0000000B
Inicio
PRODUCT_STARTER_E
0x00000042
No compatible
PRODUCT_STARTER_N
0x0000002F
Starter N
PRODUCT_STORAGE_ENTERPRISE_SERVER
0x00000017
Storage Server Enterprise
PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE
0x0000002E
Storage Server Enterprise (instalación principal)
PRODUCT_STORAGE_EXPRESS_SERVER
0x00000014
Storage Server Express
PRODUCT_STORAGE_EXPRESS_SERVER_CORE
0x0000002B
Storage Server Express (instalación básica)
PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER
0x00000060
Storage Server Standard (instalación de evaluación)
PRODUCT_STORAGE_STANDARD_SERVER
0x00000015
Storage Server Standard
PRODUCT_STORAGE_STANDARD_SERVER_CORE
0x0000002C
Storage Server Standard (instalación básica)
PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER
0x0000005F
Grupo de trabajo del servidor de almacenamiento (instalación de evaluación)
PRODUCT_STORAGE_WORKGROUP_SERVER
0x00000016
Grupo de trabajo del servidor de almacenamiento
PRODUCT_STORAGE_WORKGROUP_SERVER_CORE
0x0000002D
Grupo de trabajo del servidor de almacenamiento (instalación principal)
PRODUCT_ULTIMATE
0x00000001
Ultimate
PRODUCT_ULTIMATE_E
0x00000047
No compatible
PRODUCT_ULTIMATE_N
0x0000001C
Ultimate N
PRODUCT_UNDEFINED
0x00000000
Un producto desconocido
PRODUCT_WEB_SERVER
0x00000011
Servidor web (instalación completa)
PRODUCT_WEB_SERVER_CORE
0x0000001D
Servidor web (instalación básica)

Valor devuelto

Si la función se ejecuta correctamente, el valor devuelto es un valor distinto de cero.

Si la función no se realiza correctamente, el valor devuelto es cero. Esta función produce un error si uno de los parámetros de entrada no es válido.

Comentarios

Para detectar si hay instalado un rol de servidor o una característica, use el proveedor WMI de características de servidor.

Las versiones posteriores de Windows asignarán los tipos de producto que admite al conjunto de tipos de productos admitidos por cada versión anterior compatible de Windows, de nuevo a la versión 6.0.0.0. Por lo tanto, una aplicación que realiza una prueba de igualdad para cualquiera de estos valores seguirá funcionando en futuras versiones, incluso cuando se agreguen nuevos tipos de producto.

PRODUCT_*_SERVER_CORE valores no se devuelven en Windows Server 2012 y versiones posteriores. Por ejemplo, la edición de servidor base, Server Datacenter, se usa para compilar las dos opciones de instalación diferentes: "servidor completo" y "servidor principal". Con Windows Server 2012, GetProductInfo devolverá PRODUCT_DATACENTER independientemente de la opción usada durante la instalación del producto. Como se indicó anteriormente, para las instalaciones de Server Core de Windows Server 2012 y versiones posteriores, use el método Determinar si Server Core se está ejecutando.

En la tabla siguiente se indican los tipos de producto introducidos en la versión 6.1.0.0 y lo que se asignarán a si se llama a GetProductInfo con la versión 6.0.0.0 en un sistema 6.1.0.0.

Novedades de la versión 6.1.0.0 Valor devuelto con 6.0.0.0
PRODUCT_PROFESSIONAL PRODUCT_BUSINESS
PRODUCT_PROFESSIONAL_N PRODUCT_BUSINESS_N
PRODUCT_STARTER_N PRODUCT_STARTER
 

Para compilar una aplicación que use esta función, defina _WIN32_WINNT como 0x0600 o posterior. Para obtener más información, vea Uso de los encabezados de Windows.

Ejemplos

Para obtener un ejemplo, consulte Obtención de la versión del sistema.

Requisitos

   
Cliente mínimo compatible Windows Vista [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2008 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado sysinfoapi.h (incluya Windows.h)
Library Kernel32.lib
Archivo DLL Kernel32.dll

Vea también

Funciones de información del sistema