структура 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) |