Como identificar a versão do Windows no ACPI usando _OSI
Este tópico descreve como usar o método _OSI em ASL (Advanced Configuration and Power Interface) Source Language (ASL) para identificar o sistema operacional host. Usando esse método, os gravadores ASL podem criar firmware que dá suporte a versões futuras de sistemas operacionais e permite que o sistema operacional altere o comportamento com base nos níveis de interface solicitados.
Essas informações se aplicam aos seguintes sistemas operacionais:
Windows 11, versão 22H2
Windows 11
Windows 10, versão 2004
Windows 10, versão 1903
Windows 10, versão 1809
Windows 10, versão 1803
Windows 10, versão 1709
Windows 10, versão 1703
Windows 10, versão 1607
Visualização técnica do Windows Server
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
O método _OSI
Todas as versões recentes do sistema operacional Windows dão suporte a componentes da Especificação de ACPI (Advanced Configuration and Power Interface). A especificação acpi define uma linguagem interpretada, ASL (Linguagem de Origem acpi), para permitir que o sistema operacional execute métodos de controle fornecidos por firmware para gerenciamento e configuração de energia. Para melhorar a capacidade dos gravadores ASL de identificar a versão do sistema operacional host, o ASL fornece o nível de interface do sistema operacional (_OSI).
Usando o método _OSI, os gravadores ASL podem determinar facilmente a versão das interfaces ACPI compatíveis com o sistema operacional host. Esse método de controle de versão fornece uma solução para criar firmware que pode dar suporte a sistemas operacionais futuros e permitir que o sistema operacional altere o comportamento com base nos níveis de interface solicitados.
_OSI definido
O método _OSI tem um argumento e um valor retornado. O argumento é uma cadeia de caracteres definida por e para cada sistema operacional. O valor retornado será 0x00000000 se a interface não tiver suporte ou 0xFFFFFFFF se houver suporte para a interface.
Versões recentes da especificação acpi estenderam os casos de uso do método _OSI além da identificação da versão do sistema operacional host.
No entanto, o Windows dá suporte apenas a _OSI para o uso da identificação da versão do host do Windows que está em execução no sistema.
O método _OSI é definido da seguinte maneira:
- _OSI – Interfaces do sistema operacional
Argumento
Uma cadeia de caracteres definida por e para cada sistema operacional. Por exemplo:
"Windows 2013" para Windows 8.1 e Windows Server 2012 R2
"Windows 2012" para Windows 8 e Windows Server 2012
"Windows 2009" para Windows 7 e Windows Server 2008 R2
"Windows 2001" para Windows XP
"Windows 2001.1" para Windows Server 2003
Retornar valor
Os valores retornados são os seguintes:
0x00000000 se o sistema operacional não oferecer suporte à versão no argumento .
0xFFFFFFFF se o sistema operacional der suporte à versão no argumento .
_OSI detalhes do argumento para Windows
A tabela a seguir lista as versões do Windows que o ASL pode identificar usando a cadeia de caracteres _OSI correspondente.
Os sistemas operacionais Windows retornarão 0xFFFFFFFF se o argumento para o método _OSI especificar uma versão anterior do Windows. Por exemplo, o Windows 7 retorna 0xFFFFFFFF para "Windows 2009" (Windows 7) e "Windows 2006" (Windows Vista).
cadeias de caracteres _OSI para sistemas operacionais Windows
Cadeia de caracteres OSI | Sistema operacional 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, versão 1607 |
Windows 2017 | Windows 10, versão 1703 |
Windows 2017.2 | Windows 10, versão 1709 |
Windows 2018 | Windows 10, versão 1803 |
Windows 2018.2 | Windows 10, versão 1809 |
Windows 2019 | Windows 10, versão 1903 |
Windows 2020 | Windows 10, versão 2004 |
Windows 2021 | Windows 11 |
Windows 2022 | Windows 11, versão 22H2 |
Nota de implementação
Coloque a rotina que identifica o sistema operacional em um método _INI no escopo _SB para que _OSI possa ser executado o mais cedo possível.
Esse posicionamento é importante porque o sistema operacional disponibiliza recursos com base no argumento de cadeia de caracteres para o método _OSI.
Recursos adicionais
Configuração avançada e especificação da interface de energia