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


структура PEP_ACPI_EVALUATE_CONTROL_METHOD (pep_x.h)

Структура PEP_ACPI_EVALUATE_CONTROL_METHOD указывает метод управления ACPI для оценки, входной аргумент для предоставления этому методу и выходной буфер для результата вычисления.

Синтаксис

typedef struct _PEP_ACPI_EVALUATE_CONTROL_METHOD {
  PEPHANDLE             DeviceHandle;
  ULONG                 RequestFlags;
  union {
    ULONG       MethodName;
    ANSI_STRING MethodNameString;
  };
  NTSTATUS              MethodStatus;
  PVOID                 CompletionContext;
  ULONG                 InputArgumentCount;
  SIZE_T                InputArgumentSize;
  PACPI_METHOD_ARGUMENT InputArguments;
  ULONG                 OutputArgumentCount;
  SIZE_T                OutputArgumentSize;
  PACPI_METHOD_ARGUMENT OutputArguments;
} PEP_ACPI_EVALUATE_CONTROL_METHOD, *PPEP_ACPI_EVALUATE_CONTROL_METHOD;

Члены

DeviceHandle

Значение PEPHANDLE, определяющее регистрацию устройства для служб ACPI. Подключаемый модуль расширения платформы (PEP) предоставил этот дескриптор в ответ на предыдущее уведомление PEP_NOTIFY_ACPI_REGISTER_DEVICE .

RequestFlags

Набор флагов. Этот элемент содержит одно из следующих значений.

Имя флага Значение Значение
PEP_ACPI_ECM_FLAG_NONE 0x0 Недопустимое имя метода элемента управления.
PEP_ACPI_ECM_FLAG_RELATIVE_NAME 0x1 Элемент MethodNameUlong содержит имя метода элемента управления, относительного пути.
PEP_ACPI_ECM_FLAG_FULLY_QUALIFIED_NAME 0x2 Элемент MethodNameString содержит полное имя метода элемента управления.

MethodName

Значение ULONG, содержащее имя метода управления ACPI из четырех символов, относительное пути.

MethodNameString

Структура ANSI_STRING , содержащая полное имя метода управления ACPI. Это имя указывает путь и имя метода в пространстве имен ACPI. Дополнительные сведения см. в разделе Перечисление дочерних устройств и методов управления.

MethodStatus

Значение NTSTATUS, указывающее состояние вычисления метода управления ACPI. Задайте для этого элемента значение STATUS_SUCCESS, чтобы указать, что подключаемый модуль расширения платформы (PEP) успешно завершил вычисление метода. Задайте значение STATUS_NOT_SUPPORTED, чтобы указать, что PEP не распознает метод элемента управления. Задайте значение STATUS_BUFFER_TOO_SMALL, чтобы указать, что размер выходного буфера, указанный в элементе InputArgumentSize , недостаточно велик, чтобы содержать результаты метода.

Если PEP вычисляет метод асинхронно, задайте для этого элемента значение STATUS_PENDING и возврат из обратного вызова AcceptAcpiNotification . Позже, после завершения оценки, PEP вызывает подпрограмму CompleteWork , чтобы уведомить платформу управления питанием Windows (PoFx) о том, что оценка метода управления завершена.

CompletionContext

Указатель на значение контекста завершения. PEP использует этот элемент только в том случае, если метод управления вычисляется асинхронно. В этом случае PEP предоставляет этот указатель контекста завершения в вызове подпрограммы CompleteWork , которая уведомляет платформу управления питанием Windows (PoFx) о завершении оценки метода управления. Включенные во входные параметры этого вызова являются указателем на структуру PEP_WORK_ACPI_EVALUATE_CONTROL_METHOD_COMPLETE , в которую PEP записан указатель контекста завершения. Контекст является непрозрачным для PEP и содержит данные, используемые внутри PoFx.

InputArgumentCount

Количество входных аргументов во входном буфере, на которое указывает элемент InputArguments . Каждый аргумент начинается с ACPI_METHOD_ARGUMENT структуры, указывающей размер аргумента. В настоящее время максимальное значение InputArgumentCount равно 1.

InputArgumentSize

Размер входного буфера в байтах, на который указывает элемент InputArguments .

InputArguments

Указатель на входной буфер, содержащий структуру ACPI_METHOD_ARGUMENT , указывающую входной аргумент для указанного метода управления ACPI.

OutputArgumentCount

Количество выходных аргументов в выходном буфере, на которое указывает элемент OutputArguments . Каждый аргумент начинается с ACPI_METHOD_ARGUMENT структуры, указывающей размер аргумента. В настоящее время максимально допустимое значение OutputArgumentCount равно 1.

OutputArgumentSize

На входных данных — размер в байтах выходного буфера, на который указывает элемент OutputArguments . Если этот буфер недостаточно велик, чтобы содержать результат вычисления метода, PEP перезаписывает входное значение OutputArgumentSize требуемым размером и задает элементу MethodStatus значение STATUS_BUFFER_TOO_SMALL.

OutputArguments

Указатель на выходной буфер, в который PEP записывает ACPI_METHOD_ARGUMENT структуру, содержащую результат вычисления указанного метода управления ACPI.

Комментарии

Эта структура используется в уведомлении PEP_NOTIFY_ACPI_EVALUATE_CONTROL_METHOD . Элемент MethodStatus содержит выходное значение, которое PEP записывает в структуру в ответ на это уведомление. Элемент OutputArgumentSize содержит входное значение, предоставленное PoFx при отправке уведомления. PeP может перезаписать это входное значение выходным значением, если входное значение меньше требуемого размера выходного буфера. Все остальные элементы этой структуры содержат входные значения, предоставляемые PoFx при отправке уведомления.

Эта структура определяет неименованное объединение, содержащее имя метода элемента управления, относительного пути из четырех символов (если RequestFlags = PEP_ACPI_ECM_FLAG_RELATIVE_NAME) или полное имя метода элемента управления (если RequestFlags = PEP_ACPI_ECM_FLAG_FULLY_QUALIFIED_NAME).

Требования

Требование Значение
Минимальная версия клиента Поддерживается начиная с Windows 10.
Верхняя часть pep_x.h (включая Pep_x.h)

См. также раздел