Estructura OSVERSIONINFOEXW (wdm.h)
La estructura de RTL_OSVERSIONINFOEXW contiene información de versión del sistema operativo.
Sintaxis
typedef struct _OSVERSIONINFOEXW {
ULONG dwOSVersionInfoSize;
ULONG dwMajorVersion;
ULONG dwMinorVersion;
ULONG dwBuildNumber;
ULONG dwPlatformId;
WCHAR szCSDVersion[128];
USHORT wServicePackMajor;
USHORT wServicePackMinor;
USHORT wSuiteMask;
UCHAR wProductType;
UCHAR wReserved;
} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW, RTL_OSVERSIONINFOEXW, *PRTL_OSVERSIONINFOEXW;
Miembros
dwOSVersionInfoSize
Tamaño, en bytes, de una estructura de RTL_OSVERSIONINFOEXW . Este miembro debe establecerse antes de usar la estructura con RtlGetVersion.
dwMajorVersion
Número de versión principal del sistema operativo. Por ejemplo, para Windows 2000, el número de versión principal es cinco. Para más información, consulta las tablas en Comentarios.
dwMinorVersion
Número de versión secundaria del sistema operativo. Por ejemplo, para Windows 2000, el número de versión secundaria es cero. Para más información, consulta las tablas en Comentarios.
dwBuildNumber
Número de compilación del sistema operativo.
dwPlatformId
Plataforma del sistema operativo. Para Win32 en sistemas operativos basados en NT, RtlGetVersion devuelve el valor VER_PLATFORM_WIN32_NT.
szCSDVersion[128]
Cadena de versión de Service-Pack. Este miembro contiene una cadena terminada en null, como "Service Pack 3", que indica el Service Pack más reciente instalado en el sistema. Si no hay ningún Service Pack instalado, Es posible que RtlGetVersion no inicialice esta cadena. Inicialice szCSDVersion en cero (cadena vacía) antes de la llamada a RtlGetVersion.
wServicePackMajor
Número de versión principal del Service Pack más reciente instalado en el sistema. Por ejemplo, para Service Pack 3, el número de versión principal es tres. Si no se ha instalado ningún Service Pack, el valor es cero.
wServicePackMinor
Número de versión secundaria del Service Pack más reciente instalado en el sistema. Por ejemplo, para Service Pack 3, el número de versión secundaria es cero.
wSuiteMask
Conjuntos de productos disponibles en el sistema. Este miembro se establece en cero o en el OR bit a bit de uno o varios de los valores siguientes.
Valor | Significado |
---|---|
VER_SUITE_BACKOFFICE | Se instalan los componentes de Microsoft BackOffice. |
VER_SUITE_BLADE | Windows Server 2003, Web Edition está instalado. |
VER_SUITE_COMPUTE_SERVER | Windows Server 2003, Compute Cluster Edition está instalado. |
VER_SUITE_DATACENTER | Windows Server 2008 Datacenter, Windows Server 2003, Datacenter Edition o Windows 2000 Datacenter Server está instalado. |
VER_SUITE_ENTERPRISE | Windows Server 2008 Enterprise, Windows Server 2003, Enterprise Edition o Windows 2000 Advanced Server está instalado. |
VER_SUITE_EMBEDDEDNT | Windows XP Embedded está instalado. |
VER_SUITE_PERSONAL | Windows Vista Home Premium, Windows Vista Home Basic o Windows XP Home Edition está instalado. |
VER_SUITE_SINGLEUSERTS | Se admite Escritorio remoto, pero solo se admite una sesión interactiva. Este valor se establece a menos que el sistema se ejecute en modo de servidor de aplicaciones. |
VER_SUITE_SMALLBUSINESS (consulte la nota) | Microsoft Small Business Server se instaló una vez en el sistema, pero es posible que se haya actualizado a otra versión de Windows. Para obtener más información sobre este bit de marca, vea la siguiente sección Comentarios. |
VER_SUITE_SMALLBUSINESS_RESTRICTED | Microsoft Small Business Server se instala con la licencia de cliente restrictiva vigente. Para obtener más información sobre este bit de marca, vea la siguiente sección Comentarios. |
VER_SUITE_STORAGE_SERVER | Windows Storage Server 2003 R2 o Windows Storage Server 2003 está instalado. |
VER_SUITE_TERMINAL | Terminal Services está instalado. Este valor siempre se establece. Si se establece VER_SUITE_TERMINAL pero no se establece VER_SUITE_SINGLEUSERTS, el sistema operativo se ejecuta en modo de servidor de aplicaciones. |
VER_SUITE_WH_SERVER | Windows Home Server está instalado. |
No debe confiar únicamente en la marca de VER_SUITE_SMALLBUSINESS para determinar si Small Business Server está instalado actualmente. Tanto esta marca como la marca VER_SUITE_SMALLBUSINESS_RESTRICTED se establecen cuando se instala este conjunto de productos. Si actualiza esta instalación a Windows Server, Standard Edition, se borra la marca de VER_SUITE_SMALLBUSINESS_RESTRICTED, pero la marca de VER_SUITE_SMALLBUSINESS permanece establecida, que, en este caso, indica que Small Business Server se instaló anteriormente en este sistema. Si esta instalación se actualiza aún más a Windows Server, Enterprise Edition, la marca de VER_SUITE_SMALLBUSINESS permanece establecida.
wProductType
Tipo de producto. Este miembro contiene información adicional sobre el sistema. Este miembro puede ser uno de los siguientes valores:
Valor | Significado |
---|---|
VER_NT_WORKSTATION | Windows 2000 o una versión profesional posterior |
VER_NT_DOMAIN_CONTROLLER | Controlador de dominio de Windows 2000 o posterior |
VER_NT_SERVER | Servidor de Windows 2000 o posterior |
wReserved
Reservado para uso futuro.
Comentarios
La información de esta estructura incluye los números de versión principal y secundaria, el número de compilación, el identificador de plataforma, los conjuntos de productos instalados y el Service Pack más reciente instalado en el sistema. Esta estructura se usa con las rutinas RtlGetVersion y RtlVerifyVersionInfo .
Confiar en la información de versión no siempre es la mejor manera de probar si una característica está disponible. Para obtener instrucciones, consulte la documentación de la característica que le interesa.
Si es posible, diseñe el código de detección de versiones en el controlador para permitir que el controlador se ejecute en versiones futuras de Windows. Si el controlador requiere una versión determinada del sistema operativo, asegúrese de tratar esta versión como la versión mínima admitida y no como la única versión en la que se pueda ejecutar el controlador.
En la tabla siguiente se resume la información de versión que devuelven las versiones compatibles de Windows. Use la información de la columna "Other" o el número de compilación para distinguir entre sistemas operativos con números de versión idénticos.
Sistema operativo | Número de la versión | dwMajorVersion | dwMinorVersion | Otros |
---|---|---|---|---|
Windows 11 | 10.0 | 10 | 0 | wProductType == VER_NT_WORKSTATION |
Windows Server 2022 | 10.0 | 10 | 0 | wProductType != VER_NT_WORKSTATION |
Windows Server 2019 | 10.0 | 10 | 0 | wProductType != VER_NT_WORKSTATION |
Windows 10 (todas las versiones) | 10.0 | 10 | 0 | wProductType == VER_NT_WORKSTATION |
Windows Server 2016 | 10.0 | 10 | 0 | wProductType != VER_NT_WORKSTATION |
Windows Server 2012 R2 | 6.3 | 6 | 3 | wProductType != VER_NT_WORKSTATION |
Windows 8.1 | 6.3 | 6 | 3 | wProductType == VER_NT_WORKSTATION |
Windows 8 | 6.2 | 6 | 2 | wProductType == VER_NT_WORKSTATION |
Windows Server 2012 | 6.2 | 6 | 2 | wProductType != VER_NT_WORKSTATION |
Windows 7 | 6.1 | 6 | 1 | wProductType == VER_NT_WORKSTATION |
Windows Server 2008 R2 | 6.1 | 6 | 1 | wProductType != VER_NT_WORKSTATION |
Windows Server 2008 | 6.0 | 6 | 0 | wProductType != VER_NT_WORKSTATION |
Windows Vista | 6.0 | 6 | 0 | wProductType == VER_NT_WORKSTATION |
Windows Home Server | 5.2 | 5 | 2 | wSuiteMask == VER_SUITE_WH_SERVER |
Windows Server 2003 | 5.2 | 5 | 2 | No aplicable |
Windows XP Professional x64 Edition (consulta la nota) | 5.2 | 5 | 2 | wProductType == VER_NT_WORKSTATION |
Windows XP | 5,1 | 5 | 1 | No aplicable |
Windows 2000 | 5.0 | 5 | 0 | No aplicable |
Solo se puede ejecutar un controlador en modo kernel de 64 bits en Windows XP Professional x64 Edition. Por lo tanto, un controlador en modo kernel de 32 bits puede omitir de forma segura la comprobación de esta versión de Windows.
Requisitos
Requisito | Valor |
---|---|
Header | wdm.h (incluya Ntddk.h) |