Поделиться через


Определение версии Windows в ACPI с помощью _OSI

В этом разделе описывается, как использовать метод _OSI в asl (Advanced Configuration and Power Interface ( ACPI) Source Language (ASL) для идентификации операционной системы узла. Используя этот метод, средства записи ASL могут создавать встроенное ПО, которое поддерживает будущие версии операционных систем и позволяет операционной системе изменять поведение в зависимости от запрошенных уровней интерфейса.

Эти сведения относятся к следующим операционным системам:

  • Windows 11 версии 22H2

  • Windows 11

  • Windows 10 версии 2004

  • Windows 10 версии 1903

  • Windows 10, версия 1809

  • Windows 10 версии 1803

  • Windows 10 версии 1709

  • Windows 10 версии 1703

  • Windows 10, версия 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

Метод _OSI

Все последние версии операционной системы Windows поддерживают компоненты спецификации расширенной конфигурации и интерфейса питания (ACPI). Спецификация ACPI определяет интерпретируемый язык ACPI Source Language (ASL), чтобы позволить операционной системе выполнять методы управления питанием и конфигурацией, предоставляемые встроенным по встроенному ПО. Чтобы улучшить возможность записи ASL определять версию операционной системы узла, ASL предоставляет уровень интерфейса операционной системы (_OSI).

Используя метод _OSI, средства записи ASL могут легко определить версию интерфейсов ACPI, поддерживаемых операционной системой узла. Этот метод управления версиями предоставляет решение для создания встроенного ПО, которое может поддерживать будущие операционные системы и позволяет операционной системе изменять поведение в зависимости от запрошенных уровней интерфейса.

_OSI определено

Метод _OSI имеет один аргумент и одно возвращаемое значение. Аргумент — это строка, определяемая и для каждой операционной системы. Возвращаемое значение 0x00000000, если интерфейс не поддерживается, или 0xFFFFFFFF, если интерфейс поддерживается.

Последние версии спецификации ACPI расширили варианты использования метода _OSI помимо идентификации версии операционной системы узла.

Тем не менее Windows поддерживает _OSI только для идентификации хост-версии Windows, работающей в системе.

Метод _OSI определяется следующим образом:

  • _OSI — интерфейсы операционной системы

Аргумент

Строка, определяемая параметром и для каждой операционной системы. Пример:

  • Windows 2013 для Windows 8.1 и Windows Server 2012 R2

  • Windows 2012 для Windows 8 и Windows Server 2012

  • "Windows 2009" для Windows 7 и Windows Server 2008 R2

  • "Windows 2001" для Windows XP

  • "Windows 2001.1" для Windows Server 2003

Возвращаемое значение

Возвращаемые значения:

  • 0x00000000, если операционная система не поддерживает версию в аргументе .

  • 0xFFFFFFFF, поддерживает ли операционная система версию в аргументе .

сведения о аргументе _OSI для Windows

В таблице ниже перечислены версии Windows, которые ASL может идентифицировать с помощью соответствующей строки _OSI.

Операционные системы Windows возвращают 0xFFFFFFFF, если аргумент метода _OSI указывает более раннюю версию Windows. Например, Windows 7 возвращает 0xFFFFFFFF для Windows 2009 (Windows 7) и Windows 2006 (Windows Vista).

строки _OSI для операционных систем Windows

Строка OSI Целевая ОС
Windows 2000 Windows 2000
Windows 2001 Windows XP
Windows 2001 с пакетом обновления 1 (SP1) Windows XP с пакетом обновления 1 (SP1)
Windows 2001.1 Windows Server 2003
Windows 2001 с пакетом обновления 2 (SP2) Windows XP с пакетом обновления 2 (SP2)
Windows 2001.1 с пакетом обновления 1 (SP1) Windows Server 2003 с пакетом обновления 1 (SP1)
Windows 2006 Windows Vista
Windows 2006 с пакетом обновления 1 (SP1) Windows Vista с пакетом обновления 1 (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, версия 1607
Windows 2017 Windows 10 версии 1703
Windows 2017.2 Windows 10 версии 1709
Windows 2018 Windows 10 версии 1803
Windows 2018.2 Windows 10, версия 1809
Windows 2019 Windows 10 версии 1903
Windows 2020 Windows 10 версии 2004
Windows 2021 Windows 11
Windows 2022 Windows 11 версии 22H2

Примечание о реализации

Поместите подпрограмму, определяющую операционную систему, в метод _INI в _SB область, чтобы _OSI можно было запустить как можно раньше.

Это размещение важно, так как операционная система предоставляет функции на основе строкового аргумента для метода _OSI.

Дополнительные ресурсы

Расширенная конфигурация и спецификация интерфейса питания