Estructura OSVERSIONINFOW (winnt.h)
Contiene información de versión del sistema operativo. La información incluye números de versión principal y secundaria, un número de compilación, un identificador de plataforma y texto descriptivo sobre el sistema operativo. Esta estructura se usa con la función GetVersionEx.
Para obtener información adicional sobre la versión, use la estructura de
Sintaxis
typedef struct _OSVERSIONINFOW {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
WCHAR szCSDVersion[128];
} OSVERSIONINFOW, *POSVERSIONINFOW, *LPOSVERSIONINFOW, RTL_OSVERSIONINFOW, *PRTL_OSVERSIONINFOW;
Miembros
dwOSVersionInfoSize
Tamaño de esta estructura de datos, en bytes. Establezca este miembro en sizeof(OSVERSIONINFO)
.
dwMajorVersion
Número de versión principal del sistema operativo. Para obtener más información, vea Comentarios.
dwMinorVersion
Número de versión secundaria del sistema operativo. Para obtener más información, vea Comentarios.
dwBuildNumber
Número de compilación del sistema operativo.
dwPlatformId
La plataforma del sistema operativo. Este miembro puede ser el siguiente valor.
Valor | Significado |
---|---|
|
El sistema operativo es Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, Windows XP o Windows 2000. |
szCSDVersion[128]
Cadena terminada en NULL, como "Service Pack 3", que indica el Service Pack más reciente instalado en el sistema. Si no se ha instalado ningún Service Pack, la cadena está vacía.
Observaciones
Confiar en la información de versión no es la mejor manera de probar una característica. En su lugar, consulte la documentación de la característica de interés. Para obtener más información sobre las técnicas comunes para la detección de características, consulte versión del sistema operativo.
Si necesita un sistema operativo determinado, asegúrese de usarlo como una versión mínima admitida, en lugar de diseñar la prueba para un sistema operativo. De este modo, el código de detección seguirá funcionando en versiones futuras de Windows.
En la tabla siguiente se resumen los valores devueltos por versiones compatibles de Windows. Use la información de la columna con la etiqueta "Other" para distinguir entre sistemas operativos con números de versión idénticos.
Sistema operativo | Número de versión | dwMajorVersion | dwMinorVersion | Otro |
---|---|---|---|---|
Windows 10 | 10.0* | 10 | 0 | OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION |
Windows Server 2016 | 10.0* | 10 | 0 | OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION |
Windows 8.1 | 6.3* | 6 | 3 | OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION |
Windows Server 2012 R2 | 6.3* | 6 | 3 | OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION |
Windows 8 | 6.2 | 6 | 2 | OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION |
Windows Server 2012 | 6.2 | 6 | 2 | OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION |
Windows 7 | 6.1 | 6 | 1 | OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION |
Windows Server 2008 R2 | 6.1 | 6 | 1 | OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION |
Windows Server 2008 | 6.0 | 6 | 0 | OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION |
Windows Vista | 6.0 | 6 | 0 | OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION |
Windows Server 2003 R2 | 5.2 | 5 | 2 | GetSystemMetrics(SM_SERVERR2) != 0 |
Windows Server 2003 | 5.2 | 5 | 2 | GetSystemMetrics(SM_SERVERR2) == 0 |
Windows XP | 5.1 | 5 | 1 | No aplicable |
Windows 2000 | 5.0 | 5 | 0 | No aplicable |
* Para aplicaciones que se han manifiesto para Windows 8.1 o Windows 10. 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). Para manifestar las aplicaciones para Windows 8.1 o Windows 10, consulte Destino de la aplicación para Windows. |
Ejemplos
Para obtener un ejemplo, vea Obtener la versión del sistema.
Nota
El encabezado winnt.h define OSVERSIONINFO 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 [solo aplicaciones de escritorio] |
servidor mínimo admitido | Windows 2000 Server [solo aplicaciones de escritorio] |
encabezado de |
winnt.h (incluya Windows.h) |
Consulte también