Función GetVersionExA (sysinfoapi.h)
GetVersionExA puede modificarse o no estar disponible para versiones posteriores a Windows 8.1. En su lugar, use las funciones del asistente de versiones de . Para las aplicaciones de Windows 10, consulta Destino de tus aplicaciones para Windows.
Con el lanzamiento de Windows 8.1, el comportamiento de la API de GetVersionEx ha cambiado en el valor que devolverá para la versión del sistema operativo. El valor devuelto por la función GetVersionEx ahora depende de cómo se manifiesta la aplicación.
Las aplicaciones no manifestadas para Windows 8.1 o Windows 10 devolverán el valor de la versión del sistema operativo Windows 8 (6.2). Una vez que se manifiesta una aplicación para una versión de sistema operativo determinada, GetVersionEx siempre devolverá la versión para la que se manifiesta la aplicación en versiones futuras. Para manifestar las aplicaciones para Windows 8.1 o Windows 10, consulte Destino de la aplicación para Windows.
Sintaxis
NOT_BUILD_WINDOWS_DEPRECATE BOOL GetVersionExA(
[in, out] LPOSVERSIONINFOA lpVersionInformation
);
Parámetros
[in, out] lpVersionInformation
Estructura OSVERSIONINFOA o OSVERSIONINFOEXA que recibe la información del sistema operativo.
Antes de llamar a la función getVersionEx de
Valor devuelto
Si la función se ejecuta correctamente, el valor devuelto es un valor distinto de cero.
Si se produce un error en la función, el valor devuelto es cero. Para obtener información de error extendida, llame a GetLastError. Se produce un error en la función si especifica un valor no válido para el dwOSVersionInfoSize miembro de la OSVERSIONINFOA o OSVERSIONINFOEXA estructura.
Observaciones
La identificación del sistema operativo actual no suele ser la mejor manera de determinar si existe una característica de sistema operativo determinada. Esto se debe a que el sistema operativo puede haber tenido nuevas características agregadas en un archivo DLL redistribuible. En lugar de usar getVersionEx para determinar el número de versión o la plataforma del sistema operativo, pruebe la presencia de la propia característica. Para obtener más información, vea versión del sistema operativo.
La función
Producto | Ajuste |
---|---|
Windows XP Media Center Edition | SM_MEDIACENTER |
Windows XP Starter Edition | SM_STARTER |
Windows XP Tablet PC Edition | SM_TABLETPC |
Windows Server 2003 R2 | SM_SERVERR2 |
Para comprobar si hay sistemas operativos específicos o características del sistema operativo, use la función IsOS. La función GetProductInfo recupera el tipo de producto.
Para recuperar información del sistema operativo en un equipo remoto, use la función
Para comparar la versión actual del sistema con una versión necesaria, use la función VerifyVersionInfo en lugar de usar GetVersionEx para realizar la comparación usted mismo.
Si el modo de compatibilidad está en vigor, la función GetVersionEx notifica el sistema operativo tal como se identifica, que puede no ser el sistema operativo instalado. Por ejemplo, si el modo de compatibilidad está en vigor, GetVersionEx notifica el sistema operativo seleccionado para compatibilidad de aplicaciones.
Ejemplos
Al usar la función GetVersionEx de
#include <windows.h>
#include <stdio.h>
void main()
{
OSVERSIONINFO osvi;
BOOL bIsWindowsXPorLater;
ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osvi);
bIsWindowsXPorLater =
( (osvi.dwMajorVersion > 5) ||
( (osvi.dwMajorVersion == 5) && (osvi.dwMinorVersion >= 1) ));
if(bIsWindowsXPorLater)
printf("The system meets the requirements.\n");
else printf("The system does not meet the requirements.\n");
}
Para obtener un ejemplo que identifique el sistema operativo actual, vea Obtener la versión del sistema.
Nota
El encabezado sysinfoapi.h define GetVersionEx como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP] |
servidor mínimo admitido | Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP] |
de la plataforma de destino de |
Windows |
encabezado de |
sysinfoapi.h (incluya Windows.h) |
biblioteca de |
Kernel32.lib |
DLL de |
Kernel32.dll |
Consulte también
de OSVERSIONINFOA de
de la versión del sistema operativo