Функция PoCreatePowerRequest (wdm.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, если вызов выполнен успешно. Если вызов завершается сбоем, возможные коды возврата ошибок:
Код возврата | Описание |
---|---|
|
Параметр DeviceObject имеет значение NULL. |
|
Недостаточно памяти для создания объекта запроса питания. |
Комментарии
Эта подпрограмма создает объект power request. Чтобы включить запросы на питание, вызывающий объект должен создать один объект power request и использовать его для всех вызовов процедур PoSetPowerRequest и PoClearPowerRequest .
Драйвер может использовать запросы на питание для переопределения определенных аспектов поведения компьютера по умолчанию. Например, драйвер для тв-приемника может использовать запросы на питание, чтобы предотвратить автоматическое заполнение экрана диспетчером питания в течение длительных периодов времени, в течение которых не происходит никакого взаимодействия с пользователем.
Если объект запроса на питание больше не нужен, вызывающий объект должен удалить его, вызвав подпрограмму PoDeletePowerRequest . Драйвер должен удалить объект запроса на питание перед удалением объекта устройства, который использовался для создания объекта запроса на питание.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 7. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |