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


ACPI

Общие сведения о технологии ACPI.

Для разработки для ACPI вам потребуются следующие заголовки:

Руководство по программированию см. в разделе ACPI.

Функции IOCTL

 
IOCTL_ACPI_ACQUIRE_GLOBAL_LOCK

Запрос IOCTL_ACPI_ACQUIRE_GLOBAL_LOCK управления устройством зарезервирован только для внутреннего использования.
IOCTL_ACPI_ASYNC_EVAL_METHOD

Драйвер для устройства может использовать IOCTL_ACPI_ASYNC_EVAL_METHOD запрос на управление устройством для асинхронной оценки метода управления ACPI, поддерживаемого устройством.
IOCTL_ACPI_ASYNC_EVAL_METHOD_EX

Драйвер для устройства может использовать IOCTL_ACPI_ASYNC_EVAL_METHOD_EX запрос на управление устройством для асинхронной оценки метода управления ACPI, поддерживаемого дочерним устройством устройства.
IOCTL_ACPI_ASYNC_EVAL_METHOD_V1

Код элемента управления IOCTL_ACPI_ASYNC_EVAL_METHOD_V1 асинхронно оценивает метод управления ACPI, поддерживаемый устройством.
IOCTL_ACPI_ASYNC_EVAL_METHOD_V1_EX

Код элемента управления IOCTL_ACPI_ASYNC_EVAL_METHOD_V1_EX асинхронно оценивает метод управления ACPI, поддерживаемый устройством.
IOCTL_ACPI_ASYNC_EVAL_METHOD_V2

Код элемента управления IOCTL_ACPI_ASYNC_EVAL_METHOD_V2 асинхронно оценивает метод управления ACPI, поддерживаемый устройством.
IOCTL_ACPI_ASYNC_EVAL_METHOD_V2_EX

Код элемента управления IOCTL_ACPI_ASYNC_EVAL_METHOD_V2_EX асинхронно оценивает метод управления ACPI, поддерживаемый устройством.
IOCTL_ACPI_ENUM_CHILDREN

Запрос IOCTL_ACPI_ENUM_CHILDREN управления устройством можно использовать для перечисления пути и имени устройств или именованных дочерних объектов в пространстве имен ACPI устройства, на которое отправляется этот запрос.
IOCTL_ACPI_EVAL_METHOD

Драйвер для устройства может использовать IOCTL_ACPI_EVAL_METHOD запрос на управление устройством для синхронной оценки метода управления ACPI, поддерживаемого устройством.
IOCTL_ACPI_EVAL_METHOD_EX

Драйвер для устройства может использовать IOCTL_ACPI_EVAL_METHOD_EX запрос на управление устройством для синхронной оценки метода управления ACPI, который поддерживается дочерним устройством в пространстве имен устройства.
IOCTL_ACPI_EVAL_METHOD_V1

Код элемента управления IOCTL_ACPI_EVAL_METHOD_V1 синхронно оценивает метод управления ACPI, поддерживаемый устройством.
IOCTL_ACPI_EVAL_METHOD_V1_EX

Код элемента управления IOCTL_ACPI_EVAL_METHOD_V1_EX синхронно оценивает метод управления ACPI, поддерживаемый устройством.
IOCTL_ACPI_EVAL_METHOD_V2

Код элемента управления IOCTL_ACPI_EVAL_METHOD_V2 синхронно оценивает метод управления ACPI, поддерживаемый устройством.
IOCTL_ACPI_EVAL_METHOD_V2_EX

Код элемента управления IOCTL_ACPI_EVAL_METHOD_V2_EX синхронно оценивает метод управления ACPI, поддерживаемый устройством.
IOCTL_ACPI_GET_DEVICE_INFORMATION

Драйвер для устройства может использовать IOCTL_ACPI_GET_DEVICE_INFORMATION запрос на управление устройством для получения детализированных идентификационных сведений об устройстве.
IOCTL_ACPI_GET_DEVICE_SPECIFIC_DATA

Код элемента управления IOCTL_ACPI_GET_DEVICE_SPECIFIC_DATA используется для получения данных, относящихся к устройству.
IOCTL_ACPI_RELEASE_GLOBAL_LOCK

Запрос IOCTL_ACPI_RELEASE_GLOBAL_LOCK управления устройством зарезервирован только для внутреннего использования.

Перечисления

 
ACPI_PLD_EDGE

Описание граничных битов соединения 10:12,24:26.
ACPI_PLD_HORIZONTAL_POSITION

Описывает биты горизонтального положения 72:73.
ACPI_PLD_JOINT_TYPE

Описывает биты совместного типа 6:9.
ACPI_PLD_ORIENTATION

Описывает бит ориентации 78.
ACPI_PLD_PANEL

Описывает биты поверхности панели 67:69.
ACPI_PLD_ROTATION

Описывает биты поворота 115:118.
ACPI_PLD_SHAPE

Описывает биты фигуры 74:77.
ACPI_PLD_VERTICAL_POSITION

Описывает биты вертикального положения 70:71.
HSP_PROTOCOL_ID

В этом разделе описывается перечисление HSP_PROTOCOL_ID.
IVRS_BLOCK_TYPE

Перечисляет типы блоков i/O Virtualization Reporting Structure (IVRS).
IVRS_TABLE_TYPE

Перечисляет типы записей определения оборудования виртуализации ввода-вывода (IVHD).
NFIT_STRUCTURE_TYPE

Описывает типы структур таблицы интерфейсов встроенного ПО NVDIMM (NFIT).
SRAT_ENTRY_TYPE

В этом разделе описывается перечисление SRAT_ENTRY_TYPE.

Функции

 
ACPI_OP_REGION_CALLBACK

Описывает функцию обратного вызова ACPI_OP_REGION_CALLBACK.
ACPI_OP_REGION_HANDLER

Подпрограмма с ACPI_OP_REGION_HANDLER типом предоставляется драйвером функции устройства ACPI для предоставления драйверу ACPI доступа к региону работы устройства.
DeRegisterOpRegionHandler

Подпрограмма DeRegisterOpRegionHandler отменяет регистрацию обработчика области операций с помощью драйвера ACPI.
HMAT_ENTRY_LENGTH

Макрос HMAT_ENTRY_LENGTH возвращает размер типа в структуре HMAT_ENTRY.
PROC_TOPOLOGY_NODE_CACHE_TYPE_DATA

Определяет макрос данных типа кэша узла топологии процессора.
PROC_TOPOLOGY_NODE_CACHE_TYPE_INSTRUCTION

Определяет макрос инструкции типа кэша узла топологии процессора.
PROC_TOPOLOGY_NODE_CACHE_TYPE_UNIFIED

Определяет унифицированный макрос типа кэша узла топологии процессора.
RegisterOpRegionHandler

Подпрограмма RegisterOpRegionHandler регистрирует обработчик области операций с драйвером ACPI.

Структуры

 
ACPI_DEVICE_INFORMATION_OUTPUT_BUFFER

Структура ACPI_DEVICE_INFORMATION_OUTPUT_BUFFER содержит выходные аргументы из метода управления IOCTL_ACPI_GET_DEVICE_INFORMATION.
ACPI_ENUM_CHILD

Структура ACPI_ENUM_CHILD является членом структуры ACPI_ENUM_CHILDREN_OUTPUT_BUFFER и содержит полный путь и имя объекта в пространстве имен ACPI.
ACPI_ENUM_CHILDREN_INPUT_BUFFER

Структура ACPI_ENUM_CHILDREN_INPUT_BUFFER используется в качестве входных данных для запроса IOCTL_ACPI_ENUM_CHILDREN. Структура указывает, какие дочерние объекты следует перечислить в пространстве имен устройства, на которое отправляется запрос.
ACPI_ENUM_CHILDREN_OUTPUT_BUFFER

Структура ACPI_ENUM_CHILDREN_OUTPUT_BUFFER содержит массив имен объектов в пространстве имен ACPI.
ACPI_EVAL_INPUT_BUFFER_COMPLEX_V1

Структура ACPI_EVAL_INPUT_BUFFER_COMPLEX используется в качестве входных данных для запроса IOCTL_ACPI_EVAL_METHOD и запроса IOCTL_ACPI_ASYNC_EVAL_METHOD. Структура предоставляет имя метода управления и входной массив ACPI_METHOD_ARGUMENT структур.
ACPI_EVAL_INPUT_BUFFER_COMPLEX_V1_EX

Структура ACPI_EVAL_INPUT_BUFFER_COMPLEX_EX используется в качестве входных данных для запроса IOCTL_ACPI_EVAL_METHOD_EX и запроса IOCTL_ACPI_ASYNC_EVAL_METHOD_EX.
ACPI_EVAL_INPUT_BUFFER_COMPLEX_V2

В этом разделе описывается структура ACPI_EVAL_INPUT_BUFFER_COMPLEX_V2.
ACPI_EVAL_INPUT_BUFFER_COMPLEX_V2_EX

В этом разделе описывается структура ACPI_EVAL_INPUT_BUFFER_COMPLEX_V2_EX.
ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_V1

Структура ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER используется в качестве входных данных для запроса IOCTL_ACPI_EVAL_METHOD и запроса IOCTL_ACPI_ASYNC_EVAL_METHOD. Структура предоставляет имя метода элемента управления и входной аргумент типа ULONG.
ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_V1_EX

Структура ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_EX используется в качестве входных данных для запроса IOCTL_ACPI_EVAL_METHOD_EX и запроса IOCTL_ACPI_ASYNC_EVAL_METHOD_EX.
ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_V2

В этом разделе описывается структура ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_V2.
ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_V2_EX

В этом разделе описывается структура ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_V2_EX.
ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_V1

Структура ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING используется в качестве входных данных для запроса IOCTL_ACPI_EVAL_METHOD и IOCTL_ACPI_ASYNC_EVAL_METHOD запроса. Структура предоставляет имя метода элемента управления и входной аргумент, представляющий собой строку ASCII.
ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_V1_EX

Структура ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_EX используется в качестве входных данных для запроса IOCTL_ACPI_EVAL_METHOD_EX и запроса IOCTL_ACPI_ASYNC_EVAL_METHOD_EX.
ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_V2

В этом разделе описывается структура ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_V2.
ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_V2_EX

В этом разделе описывается структура ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_V2_EX.
ACPI_EVAL_INPUT_BUFFER_V1

Структура ACPI_EVAL_INPUT_BUFFER используется в качестве входных данных для запроса IOCTL_ACPI_EVAL_METHOD и запроса IOCTL_ACPI_ASYNC_EVAL_METHOD. Структура предоставляет имя метода управления, который не принимает входной аргумент.
ACPI_EVAL_INPUT_BUFFER_V1_EX

Структура ACPI_EVAL_INPUT_BUFFER_EX используется в качестве входных данных для запроса IOCTL_ACPI_EVAL_METHOD_EX и запроса IOCTL_ACPI_ASYNC_EVAL_METHOD_EX.
ACPI_EVAL_INPUT_BUFFER_V2

В этом разделе описывается структура ACPI_EVAL_INPUT_BUFFER_V2.
ACPI_EVAL_INPUT_BUFFER_V2_EX

В этом разделе описывается структура ACPI_EVAL_INPUT_BUFFER_V2_EX.
ACPI_EVAL_OUTPUT_BUFFER_V1

Структура ACPI_EVAL_OUTPUT_BUFFER содержит выходные аргументы из метода управления ACPI.
ACPI_EVAL_OUTPUT_BUFFER_V2

В этом разделе описывается структура ACPI_EVAL_OUTPUT_BUFFER_V2.
ACPI_GET_DEVICE_SPECIFIC_DATA

Структура ACPI_GET_DEVICE_SPECIFIC_DATA содержит входные аргументы для метода управления IOCTL_ACPI_GET_DEVICE_SPECIFIC_DATA.
ACPI_MANIPULATE_GLOBAL_LOCK_BUFFER

В этом разделе описывается структура ACPI_MANIPULATE_GLOBAL_LOCK_BUFFER.
ACPI_METHOD_ARGUMENT_V1

Структура ACPI_METHOD_ARGUMENT содержит значение входного или выходного аргумента метода управления ACPI.
ACPI_METHOD_ARGUMENT_V2

В этом разделе описывается структура ACPI_METHOD_ARGUMENT_V2.
ACPI_PDTT

Определяет структуру таблицы триггеров отладки процессора ACPI (PDTT).
ACPI_PLD_CONTAINER_BUFFER

Определяет структуру буфера контейнера дескриптора физического расположения ACPI (PLD).
ACPI_PLD_INTERFACE_CLASS_BUFFER

Описывает буфер дескриптора класса интерфейса ACPI PLD, редакция 1 (расширение настраиваемого буфера PLD Майкрософт, 128 бит).
ACPI_PLD_INTERFACE_INSTANCE_ANSI_BUFFER

Описывает буферы дескриптора ANSI экземпляра интерфейса PLD ACPI, редакция 1 (расширение настраиваемого буфера PLD Майкрософт, 128 бит).
ACPI_PLD_INTERFACE_INSTANCE_GUID_BUFFER

Описывает буфер дескриптора GUID экземпляра интерфейса ACPI PLD, редакция 1 (расширение настраиваемого буфера PLD Майкрософт, 128 бит).
ACPI_PLD_INTERFACE_INSTANCE_UNICODE_BUFFER

Описывает буфер дескриптора Юникода экземпляра интерфейса PLD ACPI, редакция 1 (расширение настраиваемого буфера PLD Майкрософт, 128 бит).
ACPI_PLD_JOINT_BUFFER

Описывает буфер совместного дескриптора ACPI PLD, редакция 1 (расширение настраиваемого буфера PLD Майкрософт, 128 бит).
ACPI_PLD_SPATIAL_BUFFER

Описывает буфер пространственного дескриптора ACPI PLD, редакция 1 (расширение настраиваемого буфера PLD Майкрософт, 128 бит).
ASPT_ENTRY

В этом разделе описывается ASPT_ENTRY объединение, используемое таблицей amd Secure Processor Table (ASPT).
ASPT_ENTRY_HEADER

В этом разделе описывается структура ASPT_ENTRY_HEADER, используемая таблицей amd Secure Processor Table (ASPT).
BBRT_TABLE

Определяет таблицу фоновых ресурсов загрузки.
ECDT

В этом разделе описывается структура ECDT.
GIC_ITS

В этом разделе описывается структура GIC_ITS.
HMAT_ENTRY

Структура HMAT_ENTRY содержит сведения о таблице атрибутов разнородной памяти (HMAT) для таблицы.
HMAT_TABLE

Определяет структуру _HMAT_TABLE.
IVHD_ACPI_DEVICE_ENTRY

Определяет структуру входа устройства ACPI определения оборудования для виртуализации ввода-вывода (IVHD).
IVRS_IVINFO

Определяет структуру виртуализации операций ввода-вывода i/O Virtualization Reporting Structure (IVRS).
LPI_STATE_DESCRIPTOR

Определяет дескриптор состояния LPI.
LPI_STATE_FLAGS

Определяет флаги состояния LPI как структуру или целое число.
LPIT

Определяет таблицу ACPI LPI.
MHSP_CHANNEL

В этом разделе описывается структура MHSP_CHANNEL, используемая таблицей ACPI Microsoft HSP.
MHSP_TABLE

Описывает структуру MHSP_TABLE.
NFIT_PLATFORM_CAPABILITIES

Описывает структуру возможностей платформы NVDIMM Firmware Interface Table (NFIT). Первоначально определено в ACPI 6.2 Errata A.
PCC_REDUCED_1_SUBSPACE

Содержит сведения о подпространстве ACPI Platform Communication Channel (PCC) HW-сокращенного типа 1.
PCC_REDUCED_2_SUBSPACE

Содержит сведения о подпространстве ACPI Platform Communication Channel (PCC) HW-сокращенного типа 2.
PDTT_PCC_SUBCHANNEL_INDENTIFIER

Определяет структуру идентификатора подканала таблицы свойств процессора (PPTT) Platform Communication Channel (PCC).
PPTT

Определяет структуру таблицы топологии свойств процессора (PPTT).
PRM_HANDLER_INFORMATION

Определяет структуру PRM_HANDLER_INFORMATION.
PRM_MODULE_INFORMATION

Определяет структуру PRM_MODULE_INFORMATION.
PRMT_TABLE

Определяет структуру PRMT_TABLE.
PROC_TOPOLOGY_CACHE_ATTRIBUTES

Определяет структуру атрибутов кэша топологии процессора.
PROC_TOPOLOGY_CACHE_FLAGS

Определяет структуру флагов кэша топологии процессора.
PROC_TOPOLOGY_NODE

Определяет структуру узла топологии процессора.
PROC_TOPOLOGY_NODE_FLAGS

Определяет структуру флагов узлов топологии процессора.
SATC

В этом разделе описывается структура SATC.
SDEV_SECURE_ACPI_INFO_ENTRY

Определяет запись сведений для безопасного устройства ACPI для использования в таблице безопасных устройств.
SDEV_SECURE_RESOURCE_ID_ENTRY

Определяет запись идентификатора ресурса для безопасного устройства ACPI для использования в таблице безопасных устройств.
SDEV_SECURE_RESOURCE_MEMORY_ENTRY

Определяет запись памяти ресурса для безопасного устройства ACPI для использования в таблице защищенных устройств.
SPMI_DESCRIPTION_TABLE

Определяет структуру SPMI_DESCRIPTION_TABLE.