Функция PoFxPowerControl (wdm.h)

Подпрограмма PoFxPowerControl отправляет запрос на управление питанием в платформу управления питанием (PoFx).

Синтаксис

NTSTATUS PoFxPowerControl(
  [in]            POHANDLE Handle,
  [in]            LPCGUID  PowerControlCode,
  [in, optional]  PVOID    InBuffer,
  [in]            SIZE_T   InBufferSize,
  [out, optional] PVOID    OutBuffer,
  [in]            SIZE_T   OutBufferSize,
  [out, optional] PSIZE_T  BytesReturned
);

Параметры

[in] Handle

Дескриптор, представляющий регистрацию устройства с помощью PoFx. Драйвер устройства ранее получил этот дескриптор из подпрограммы PoFxRegisterDevice .

[in] PowerControlCode

Указатель на код элемента управления питанием. Этот код представляет собой значение GUID, указывающее запрошенную операцию.

[in, optional] InBuffer

Указатель на буфер, выделенный вызывающим объектом, который содержит входные данные для операции. Формат данных в этом буфере зависит от кода элемента управления питанием, заданного параметром PowerControlCode . Параметр InBuffer является необязательным и может быть указан как NULL, если для указанной операции не требуются входные данные.

[in] InBufferSize

Размер входного буфера в байтах, на который указывает параметр InBuffer . Если inBuffer имеет значение NULL, задайте для параметра InBufferSize значение 0.

[out, optional] OutBuffer

Указатель на буфер, выделенный вызывающим объектом, который будет содержать выходные данные операции. Формат данных в этом буфере зависит от кода элемента управления питанием, заданного параметром PowerControlCode . Параметр OutBuffer является необязательным и может быть указан как NULL, если указанная операция не создает выходных данных.

[in] OutBufferSize

Размер выходного буфера в байтах, на который указывает параметр OutBuffer . Если OutBuffer имеет значение NULL, задайте для параметра OutBufferSize значение 0.

[out, optional] BytesReturned

Указатель на расположение, в которое подпрограмма записывает количество байтов данных, записанных в буфер, на который указывает OutBuffer. Число записанных байтов будет меньше или равно OutBufferSize. Этот параметр является необязательным и может быть указан как NULL , если вызывающей объекту не нужно знать, сколько байтов было записано в выходной буфер.

Возвращаемое значение

PoFxPowerControl возвращает STATUS_SUCCESS , если запрошенная операция выполнена успешно. Возможные возвращаемые значения ошибок включают следующий код состояния.

Код возврата Описание
STATUS_NOT_IMPLEMENTED
Запрошенная операция управления питанием не реализована.
STATUS_NOT_SUPPORTED
Подключаемый модуль подсистемы питания (PEP) не подтверждает поддержку этого устройства.

Комментарии

Драйвер устройства вызывает эту подпрограмму для отправки запроса на управление питанием непосредственно в PoFx. Запрос на управление питанием аналогичен запросу на управление вводом-выводом (IOCTL). Однако в отличие от IOCTL, запрос на управление питанием отправляется непосредственно в PoFx и не наблюдается другими драйверами устройств в стеке устройств. Во время вызова PoFxPowerControl PoFx синхронно выполняет запрошенную операцию.

Аналогичным образом PoFx может отправлять запрос на управление питанием непосредственно драйверу устройства. Драйвер обрабатывает этот запрос в своей подпрограмме PowerControlCallback .

PoFx делегирует обработку всех запросов на управление питанием подключаемого модуля подсистемы питания (PEP). PEP — это необязательный программный компонент, который выполняет задачи управления питанием, относящиеся к определенной линейке процессоров или модулей Системы на микросхеме (SoC). Если поставщик оборудования для процессора или SoC предоставляет PEP для аппаратной платформы, эта PEP может обрабатывать пользовательские запросы на управление питанием от драйвера устройства или отправлять пользовательские запросы на управление питанием в подпрограмму PowerControlCallback драйвера. Поставщик может указать набор идентификаторов GUID PowerControlCode и определить операции, назначенные этими идентификаторами GUID. В качестве варианта драйвер устройства может содержать код для конкретной платформы для обработки или отправки запросов для этих операций.

Требования

Требование Значение
Минимальная версия клиента Доступно начиная с Windows 8.
Целевая платформа Универсальное
Верхняя часть wdm.h
Библиотека Ntoskrnl.lib
DLL Ntoskrnl.exe
IRQL <= DISPATCH_LEVEL

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

PoFxRegisterDevice

PowerControlCallback