Поделиться через


Функция 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

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

PO_EFFECTIVE_POWER_MODE

PO_EFFECTIVE_POWER_MODE_CALLBACK

PoUnregisterFromEffectivePowerModeNotifications