Compartir a través de


Cómo identificar la versión de Windows en ACPI mediante _OSI

En este tema se describe cómo usar el método _OSI en Advanced Configuration and Power Interface (ACPI) Source Language (ASL) para identificar el sistema operativo host. Mediante este método, los escritores asl pueden crear firmware que admita versiones futuras de sistemas operativos y permite al sistema operativo cambiar el comportamiento en función de los niveles de interfaz solicitados.

Esta información se aplica a los siguientes sistemas operativos:

  • Windows 11, versión 22H2

  • Windows 11

  • Windows 10, versión 2004

  • Windows 10, versión 1903

  • Windows 10, versión 1809

  • Windows 10, versión 1803

  • Windows 10, versión 1709

  • Windows 10, versión 1703

  • Windows 10, versión 1607

  • Windows Server Technical Preview

  • Windows 10

  • Windows Server 2012 R2

  • Windows 8.1

  • Windows Server 2012

  • Windows 8

  • Windows Server 2008 R2

  • Windows 7

  • Windows Server 2008

  • Windows Vista

  • Windows Server 2003

  • Windows XP

Método _OSI

Todas las versiones recientes del sistema operativo Windows admiten componentes de la especificación advanced Configuration and Power Interface (ACPI). La especificación ACPI define un lenguaje interpretado, lenguaje de origen ACPI (ASL), para permitir que el sistema operativo ejecute métodos de control proporcionados por firmware para la administración y configuración de energía. Para mejorar la capacidad de los escritores asl para identificar la versión del sistema operativo host, ASL proporciona el nivel de interfaz del sistema operativo (_OSI).

Mediante el uso del método _OSI, los escritores ASL pueden determinar fácilmente la versión de las interfaces ACPI que admite el sistema operativo host. Este método de control de versiones proporciona una solución para crear firmware que puede admitir sistemas operativos futuros y permitir que el sistema operativo cambie el comportamiento en función de los niveles de interfaz solicitados.

_OSI definido

El método _OSI tiene un argumento y un valor devuelto. El argumento es una cadena definida por y para cada sistema operativo. El valor devuelto se 0x00000000 si no se admite la interfaz o 0xFFFFFFFF si se admite la interfaz.

Las versiones recientes de la especificación ACPI han ampliado los casos de uso del método _OSI más allá de la identificación de la versión del sistema operativo host.

Sin embargo, Windows solo admite _OSI para el uso de la identificación de la versión de host de Windows que se ejecuta en el sistema.

El método _OSI se define de la siguiente manera:

  • _OSI: interfaces de sistema operativo

Argumento

Cadena definida por y para cada sistema operativo. Por ejemplo:

  • "Windows 2013" para Windows 8.1 y Windows Server 2012 R2

  • "Windows 2012" para Windows 8 y Windows Server 2012

  • "Windows 2009" para Windows 7 y Windows Server 2008 R2

  • "Windows 2001" para Windows XP

  • "Windows 2001.1" para Windows Server 2003

Valor devuelto

Los valores devueltos son los siguientes:

  • 0x00000000 si el sistema operativo no admite la versión en el argumento .

  • 0xFFFFFFFF si el sistema operativo admite la versión en el argumento .

_OSI detalles del argumento para Windows

En la tabla siguiente se enumeran las versiones de Windows que ASL puede identificar mediante la cadena de _OSI correspondiente.

Los sistemas operativos Windows devuelven 0xFFFFFFFF si el argumento al método _OSI especifica una versión anterior de Windows. Por ejemplo, Windows 7 devuelve 0xFFFFFFFF para "Windows 2009" (Windows 7) y "Windows 2006" (Windows Vista).

_OSI cadenas para sistemas operativos Windows

Cadena OSI So de destino
Windows 2000 Windows 2000
Windows 2001 Windows XP
Windows 2001 SP1 Windows XP SP1
Windows 2001.1 Windows Server 2003
Windows 2001 SP2 Windows XP SP2
Windows 2001.1 SP1 Windows Server 2003 SP1
Windows 2006 Windows Vista
Windows 2006 SP1 Windows Vista SP1
Windows 2006.1 Windows Server 2008
Windows 2009 Windows 7, Win Server 2008 R2
Windows 2012 Windows 8, Win Server 2012
Windows 2013 Windows 8.1
Windows 2015 Windows 10
Windows 2016 Windows 10, versión 1607
Windows 2017 Windows 10, versión 1703
Windows 2017.2 Windows 10, versión 1709
Windows 2018 Windows 10, versión 1803
Windows 2018.2 Windows 10, versión 1809
Windows 2019 Windows 10, versión 1903
Windows 2020 Windows 10, versión 2004
Windows 2021 Windows 11
Windows 2022 Windows 11, versión 22H2

Nota de implementación

Coloque la rutina que identifica el sistema operativo en un método _INI en el ámbito de _SB para que _OSI pueda ejecutarse lo antes posible.

Esta colocación es importante porque el sistema operativo hace que las características estén disponibles en función del argumento de cadena al método _OSI.

Recursos adicionales

Configuración avanzada y especificación de interfaz de energía