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) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |