структура PEP_ACPI_EVALUATE_CONTROL_METHOD (pepfx.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.
Верхняя часть pepfx.h (включая Pep_x.h)

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