Функция PoRegisterForEffectivePowerModeNotifications (wdm.h)
Функция PoRegisterForEffectivePowerModeNotifications регистрирует обратный вызов для получения эффективных уведомлений об изменении режима питания.
Синтаксис
NTSTATUS PoRegisterForEffectivePowerModeNotifications(
ULONG Version,
PPO_EFFECTIVE_POWER_MODE_CALLBACK Callback,
PVOID Context,
PO_EPM_HANDLE *RegistrationHandle,
PDEVICE_OBJECT DeviceObject
);
Параметры
Version
Предоставляет максимально эффективную версию режима питания, которую понимает вызывающий объект. Если действующий режим питания используется в более поздней версии, он сопоставляется с совместимой версией, которая затем передается обратному вызову.
Можно передать следующие значения:
EFFECTIVE_POWER_MODE_V1 доступно, начиная с Windows 10, версия 1809, и отслеживает состояния ползунка питания производительности и энергосбережения.
EFFECTIVE_POWER_MODE_V2 доступна начиная с Windows 10 версии 1903 и отслеживает ползунок питания производительности, экономию заряда, режим игры и состояния питания Смешанной реальности Windows.
Callback
Указатель на обратный вызов для вызова при изменении действующего режима питания. Это также будет вызываться один раз после регистрации для предоставления текущего режима. Если зарегистрировано несколько обратных вызовов, эти обратные вызовы можно вызывать одновременно.
Context
Непрозрачный контекст, заданный вызывающим объектом.
RegistrationHandle
Это указатель на переменную, которая получает дескриптор регистрации. Этот дескриптор можно использовать для отмены регистрации функции обратного вызова.
DeviceObject
Это необязательный параметр, который, если он указан, обеспечивает зарегистрированный обратный вызов (например, от драйвера) с указанным контекстом устройства.
Возвращаемое значение
Возвращает S_OK (ноль), если вызов был успешным, и ненулевое значение, если вызов завершился ошибкой.
Комментарии
Сразу после регистрации будет вызван обратный вызов с текущим значением параметра питания. Если регистрация происходит во время изменения режима питания, вы можете получить несколько обратных вызовов. Последний обратный вызов — это последнее обновление.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 11, версия 24H2 |
Верхняя часть | wdm.h (включая Wdm.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |