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