Identifizieren der Windows-Version in ACPI mithilfe von _OSI
In diesem Thema wird beschrieben, wie Sie die _OSI-Methode in der ACPI-Quellsprache (Advanced Configuration and Power Interface, ACPI) verwenden, um das Hostbetriebssystem zu identifizieren. Mithilfe dieser Methode können ASL-Autoren Firmware erstellen, die zukünftige Betriebssystemversionen unterstützt und dem Betriebssystem ermöglicht, das Verhalten basierend auf den angeforderten Schnittstellenebenen zu ändern.
Diese Informationen gelten für die folgenden Betriebssysteme:
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
Die _OSI-Methode
Alle aktuellen Versionen des Windows-Betriebssystems unterstützen Komponenten der ACPI-Spezifikation (Advanced Configuration and Power Interface). Die ACPI-Spezifikation definiert eine interpretierte Sprache, ACPI Source Language (ASL), damit das Betriebssystem firmwareseitig bereitgestellte Steuerungsmethoden für die Energieverwaltung und -konfiguration ausführen kann. Um die Fähigkeit von ASL-Autoren zu verbessern, die Hostbetriebssystemversion zu identifizieren, stellt ASL die Betriebssystemschnittstellenebene (Operating System Interface Level, _OSI) bereit.
Mithilfe der _OSI-Methode können ASL-Autoren problemlos die Version der ACPI-Schnittstellen ermitteln, die vom Hostbetriebssystem unterstützt werden. Diese Versionierungsmethode bietet eine Lösung zum Erstellen von Firmware, die zukünftige Betriebssysteme unterstützen und es dem Betriebssystem ermöglichen kann, das Verhalten basierend auf den angeforderten Schnittstellenebenen zu ändern.
_OSI definiert
Die _OSI-Methode verfügt über ein Argument und einen Rückgabewert. Das Argument ist eine Zeichenfolge, die von und für jedes Betriebssystem definiert wird. Der Rückgabewert wird 0x00000000, wenn die Schnittstelle nicht unterstützt wird, oder 0xFFFFFFFF, wenn die Schnittstelle unterstützt wird.
Neuere Versionen der ACPI-Spezifikation haben die Anwendungsfälle der _OSI-Methode über die Versionsidentifikation des Hostbetriebssystems hinaus erweitert.
Windows unterstützt jedoch _OSI nur für die Identifizierung der Hostversion von Windows, die auf dem System ausgeführt wird.
Die _OSI-Methode wird wie folgt definiert:
- _OSI : Betriebssystemschnittstellen
Argument
Eine von und für jedes Betriebssystem definierte Zeichenfolge. Beispiel:
"Windows 2013" für Windows 8.1 und Windows Server 2012 R2
"Windows 2012" für Windows 8 und Windows Server 2012
"Windows 2009" für Windows 7 und Windows Server 2008 R2
"Windows 2001" für Windows XP
"Windows 2001.1" für Windows Server 2003
Rückgabewert
Rückgabewerte sind wie folgt:
0x00000000, wenn das Betriebssystem die Version im Argument nicht unterstützt.
0xFFFFFFFF, wenn das Betriebssystem die Version im Argument unterstützt.
_OSI Argumentdetails für Windows
In der folgenden Tabelle sind die Versionen von Windows aufgeführt, die ASL mithilfe der entsprechenden _OSI Zeichenfolge identifizieren kann.
Windows-Betriebssysteme geben 0xFFFFFFFF zurück, wenn das Argument für die _OSI-Methode eine frühere Version von Windows angibt. Windows 7 gibt beispielsweise 0xFFFFFFFF für "Windows 2009" (Windows 7) und "Windows 2006" (Windows Vista) zurück.
_OSI Zeichenfolgen für Windows-Betriebssysteme
OSI-Zeichenfolge | Zielbetriebssystem |
---|---|
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 |
Implementierungshinweis
Platzieren Sie die Routine, die das Betriebssystem identifiziert, in einer _INI-Methode unter den bereich _SB, damit _OSI so früh wie möglich ausgeführt werden kann.
Diese Platzierung ist wichtig, da das Betriebssystem Funktionen basierend auf dem Zeichenfolgenargument für die _OSI-Methode zur Verfügung stellt.
Zusätzliche Ressourcen
Erweiterte Konfigurations- und Leistungsschnittstellenspezifikation