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


Структуры входных буферов метода управления

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

Структура входных данных Описание
ACPI_EVAL_INPUT_BUFFER Предоставляет сигнатуру буфера и имя метода элемента управления, который не принимает входной аргумент.
ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER Предоставляет сигнатуру структуры, имя метода элемента управления и одно значение входного аргумента типа ULONG.
ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING Предоставляет сигнатуру структуры, имя метода элемента управления и входной аргумент, который является строкой ASCII с завершением NULL.
ACPI_EVAL_INPUT_BUFFER_COMPLEX Предоставляет сигнатуру структуры, имя метода элемента управления и входной массив ACPI_METHOD_ARGUMENT структур. Массив может содержать не более семи таких структур. Структура ACPI_METHOD_ARGUMENT может содержать целое число ULONG, строку ASCII, описание пакета ACPI или массив пользовательских данных.

Windows также поддерживает запрос IOCTL_ACPI_EVAL_METHOD_EX . Драйвер для устройства может использовать этот запрос для оценки метода управления, который является дочерним объектом-потомком в пространстве имен ACPI устройства, на которое отправляется запрос. Запрос IOCTL_ACPI_EVAL_METHOD_EX поддерживает следующие структуры входных данных:

Структура входных данных Описание
ACPI_EVAL_INPUT_BUFFER_EX предоставляет сигнатуру структуры, а также путь и имя метода элемента управления, который не принимает входной аргумент.
ACPI_EVAL_INPUT_BUFFER_SIMPLE_INTEGER_EX предоставляет сигнатуру структуры, а также путь и имя метода элемента управления, который принимает одно целое число типа ULONG64 в качестве входного аргумента.
ACPI_EVAL_INPUT_BUFFER_SIMPLE_STRING_EX предоставляет сигнатуру структуры, а также путь и имя метода элемента управления, который принимает в качестве входного аргумента одну строку ASCII, завершающуюся null.
ACPI_EVAL_INPUT_BUFFER_COMPLEX_EX предоставляет сигнатуру структуры, а также путь и имя метода элемента управления, который принимает массив ACPI_METHOD_ARGUMENT структур в качестве входных данных. Массив может содержать не более семи таких структур. Структура ACPI_METHOD_ARGUMENT может содержать целое число ULONG, строку ASCII, описание пакета ACPI или массив пользовательских данных.

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