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