Comment identifier la version de Windows dans ACPI à l’aide de _OSI
Cette rubrique explique comment utiliser la méthode _OSI dans LE LANGAGE SOURCE (ASL) ACPI (Advanced Configuration and Power Interface) pour identifier le système d’exploitation hôte. En utilisant cette méthode, les enregistreurs ASL peuvent créer un microprogramme qui prend en charge les versions futures des systèmes d’exploitation et permet au système d’exploitation de modifier le comportement en fonction des niveaux d’interface demandés.
Ces informations s’appliquent aux systèmes d’exploitation suivants :
Windows 11, version 22H2
Windows 11
Windows 10, version 2004
Windows 10 version 1903
Windows 10, version 1809
Windows 10 version 1803
Windows 10, version 1709
Windows 10 version 1703
Windows 10, version 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éthode _OSI
Toutes les versions récentes du système d’exploitation Windows prennent en charge les composants de la spécification ACPI (Advanced Configuration and Power Interface). La spécification ACPI définit un langage interprété, ACPI Source Language (ASL), pour permettre au système d’exploitation d’exécuter des méthodes de contrôle fournies par le microprogramme pour la gestion et la configuration de l’alimentation. Pour améliorer la capacité des enregistreurs ASL à identifier la version du système d’exploitation hôte, ASL fournit le niveau d’interface du système d’exploitation (_OSI).
En utilisant la méthode _OSI, les enregistreurs ASL peuvent facilement déterminer la version des interfaces ACPI prises en charge par le système d’exploitation hôte. Cette méthode de contrôle de version fournit une solution pour créer un microprogramme qui peut prendre en charge les systèmes d’exploitation futurs et permettre au système d’exploitation de modifier le comportement en fonction des niveaux d’interface demandés.
_OSI défini
La méthode _OSI a un argument et une valeur de retour. L’argument est une chaîne définie par et pour chaque système d’exploitation. La valeur de retour est 0x00000000 si l’interface n’est pas prise en charge ou 0xFFFFFFFF si l’interface est prise en charge.
Les versions récentes de la spécification ACPI ont étendu les cas d’usage de la méthode _OSI au-delà de l’identification de la version du système d’exploitation hôte.
Toutefois, Windows prend en charge _OSI uniquement pour l’identification de la version hôte de Windows qui s’exécute sur le système.
La méthode _OSI est définie comme suit :
- _OSI - Interfaces du système d’exploitation
Argument
Chaîne définie par et pour chaque système d’exploitation. Par exemple :
« Windows 2013 » pour Windows 8.1 et Windows Server 2012 R2
« Windows 2012 » pour Windows 8 et Windows Server 2012
« Windows 2009 » pour Windows 7 et Windows Server 2008 R2
« Windows 2001 » pour Windows XP
« Windows 2001.1 » pour Windows Server 2003
Valeur retournée
Les valeurs de retour sont les suivantes :
0x00000000 si le système d’exploitation ne prend pas en charge la version dans l’argument .
0xFFFFFFFF si le système d’exploitation prend en charge la version dans l’argument .
_OSI détails de l’argument pour Windows
Le tableau ci-dessous répertorie les versions de Windows qu’ASL peut identifier à l’aide de la chaîne de _OSI correspondante.
Les systèmes d’exploitation Windows retournent 0xFFFFFFFF si l’argument de la méthode _OSI spécifie une version antérieure de Windows. Par exemple, Windows 7 retourne 0xFFFFFFFF pour « Windows 2009 » (Windows 7) et « Windows 2006 » (Windows Vista).
chaînes _OSI pour les systèmes d’exploitation Windows
Chaîne OSI | Système d’exploitation cible |
---|---|
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, version 1607 |
Windows 2017 | Windows 10 version 1703 |
Windows 2017.2 | Windows 10, version 1709 |
Windows 2018 | Windows 10 version 1803 |
Windows 2018.2 | Windows 10, version 1809 |
Windows 2019 | Windows 10 version 1903 |
Windows 2020 | Windows 10, version 2004 |
Windows 2021 | Windows 11 |
Windows 2022 | Windows 11, version 22H2 |
Note d’implémentation
Placez la routine qui identifie le système d’exploitation dans une méthode _INI sous l’étendue _SB afin que _OSI puisse s’exécuter le plus tôt possible.
Ce placement est important, car le système d’exploitation rend les fonctionnalités disponibles en fonction de l’argument string de la méthode _OSI.
Ressources supplémentaires
Configuration avancée et spécification de l’interface d’alimentation