Функция PoCreatePowerRequest (ntifs.h)

Подпрограмма PoCreatePowerRequest создает объект запроса на питание.

Синтаксис

NTSTATUS PoCreatePowerRequest(
  [out] PVOID                   *PowerRequest,
  [in]  PDEVICE_OBJECT          DeviceObject,
  [in]  PCOUNTED_REASON_CONTEXT Context
);

Параметры

[out] PowerRequest

Указатель на расположение, в которое подпрограмма записывает указатель на созданный объект power request. Если вызов завершается сбоем, подпрограмма записывает в это расположение значение NULL.

[in] DeviceObject

Указатель на объект устройства вызывающего объекта ( структура DEVICE_OBJECT ).

[in] Context

Указатель на структуру COUNTED_REASON_CONTEXT , которая описывает, почему вызывающий объект создает объект запроса на питание. Этот параметр является необязательным и может иметь значение NULL.

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

PoCreatePowerRequest возвращает STATUS_SUCCESS, если вызов выполнен успешно. Если вызов завершается сбоем, возможные коды возврата ошибок:

Код возврата Описание
STATUS_INVALID_PARAMETER Параметр DeviceObject имеет значение NULL.
STATUS_INSUFFICIENT_RESOURCES Недостаточно памяти для создания объекта запроса питания.

Комментарии

Эта подпрограмма создает объект power request. Чтобы включить запросы на питание, вызывающий объект должен создать один объект power request и использовать его для всех вызовов процедур PoSetPowerRequest и PoClearPowerRequest .

Драйвер может использовать запросы на питание для переопределения определенных аспектов поведения компьютера по умолчанию. Например, драйвер для тв-приемника может использовать запросы на питание, чтобы предотвратить автоматическое заполнение экрана диспетчером питания в течение длительных периодов времени, в течение которых не происходит никакого взаимодействия с пользователем.

Если объект запроса на питание больше не нужен, вызывающий объект должен удалить его, вызвав подпрограмму PoDeletePowerRequest . Драйвер должен удалить объект запроса на питание перед удалением объекта устройства, который использовался для создания объекта запроса на питание.

Требования

Требование Значение
Минимальная версия клиента Windows 7
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

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

PoClearPowerRequest

PoDeletePowerRequest

PoSetPowerRequest