Определение версии 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.