系统电源管理事件

系统电源管理事件是系统电源状态、设备或系统的运行模式或电源设置的值的变化。 由于这些事件可能会影响应用程序和可安装驱动程序的操作,因此系统通过为每个事件广播通知所有应用程序和可安装驱动程序。 应用程序和服务使用 RegisterPowerSettingNotification 函数注册通知。 通过 WM_POWERBROADCAST 消息接收通知,其中包含电源管理事件和任何关联的事件特定数据。

系统电源状态事件

当电源或系统电池状态发生更改时,会发生 系统电源状态事件 。 例如,每当用户从电池切换到 AC 电源时,系统就会广播 PBT_APMPOWERSTATUSCHANGE 事件,反之亦然。 系统还会在剩余电池电量降至用户指定的阈值以下时或电池电量变化了指定的百分比时广播该事件。

操作模式事件

当电源消耗发生更改(例如系统由于不活动或用户手动将系统投入睡眠)切换到睡眠状态时,会发生 操作模式事件 。 系统在进行电源消耗更改之前广播有关这些更改的事件。 例如,如果系统确定它处于空闲状态,它将广播 一个PBT_APMSUSPEND 事件,该事件通知应用程序和驱动程序它即将暂停操作并睡眠以节省电源。 应用程序和驱动程序可以通过关闭文件和保存数据来准备睡眠,以避免潜在的数据丢失。

当系统执行 严重暂停时,系统将立即进入睡眠状态,因为严重电池警报等严重情况。 与正常睡眠转换相比,系统在执行严重暂停之前不会通知应用程序和驱动程序。 因此,应用程序必须准备好处理关键挂起。

暂停系统后还原系统操作时,系统会通知所有应用程序和驱动程序。 它还指示系统是否从严重挂起恢复,以便应用程序或驱动程序可以采取适当的步骤还原其数据并继续操作。

应用程序应每次尝试处理转换到睡眠状态,而无需任何用户干预,因为用户可能无法做出响应。 例如,笔记本计算机上的盖子可能会关闭。 当应用程序收到系统即将进入睡眠状态的通知时,它应快速执行任何必要的操作,并返回消息循环。 系统允许在超时前处理此消息时,每个应用程序最多允许两秒。

电源设置更改事件

当电源设置的值发生更改时,会发生电源设置更改事件。 例如,用户在控制面板的 Power Options 应用程序中将电源计划从“高性能”更改为“均衡”。 在这种情况下,系统将广播指示电源计划已更改的事件。 此事件包括电源设置的新值。

关于电源管理