Partager via


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