События управления питанием системы
Событие управления питанием системы — это изменение состояния питания системы, режима работы устройства или системы или значения параметра питания. Так как эти события могут повлиять на работу приложений и устанавливаемых драйверов, система уведомляет обо всех приложениях и устанавливаемых драйверах путем трансляции уведомления для каждого события. Приложения и службы регистрируются для уведомлений с помощью функции RegisterPowerSettingNotification. Уведомления получаются через сообщение WM_POWERBROADCAST, которое содержит событие управления питанием и все связанные данные о событии.
События состояния системы
Событие состояния питания системы возникает при изменении питания или в состоянии батареи системы. Например, система передает событие PBT_APMPOWERSTATUSCHANGE всякий раз, когда пользователь переключается с батареи на питание AC или наоборот. Система также передает это событие, когда оставшаяся мощность батареи скользит ниже порогового значения, указанного пользователем, или если мощность батареи изменяется на указанный процент.
События рабочего режима
Событие режиме работы возникает при изменении потребления энергии, например при переключении системы в состояние спящего режима из-за неактивности или пользователя, который вручную помещает систему в спящий режим. Система передает события об этих изменениях перед изменением потребления электроэнергии. Например, если система определяет, что она неактивна, она передает PBT_APMSUSPEND событие, которое уведомляет приложения и драйверы о том, что приостанавливает работу и спящий режим для экономии энергии. Приложения и драйверы могут подготовиться к спячему режиму, закрывая файлы и сохраняя данные, чтобы избежать потенциальной потери данных.
Когда система выполняет критической приостановки, система немедленно ставится в спящий режим из-за критического состояния, такого как критическое сигнализация батареи. В отличие от обычного перехода сна, система не уведомляет приложения и водителей перед выполнением критической приостановки. Поэтому приложения должны быть готовы к обработке критических приостановлений.
При восстановлении системной операции после приостановки система уведомляет обо всех приложениях и драйверах. Он также указывает, возобновляется ли система из критической приостановки, чтобы приложение или драйвер могли предпринять соответствующие шаги для восстановления своих данных и продолжения работы.
Приложения должны выполнять каждую попытку справиться с переходом в состояние спящего режима без какого-либо вмешательства пользователя, так как это может оказаться невозможным для ответа пользователя. Например, крышка на компьютере записной книжки может быть закрыта. Когда приложение получает уведомление о том, что система будет входить в спящий режим, она должна выполнять все необходимые операции быстро и возвращать цикл сообщений. Система разрешает не более двух секунд на приложение при обработке этого сообщения до истечения времени ожидания.
События изменения параметров питания
Событие изменения параметров питания возникает при изменении значения параметра питания. Например, пользователь изменяет план питания с высокой производительности на сбалансированный в приложении "Параметры питания" на панели управления. В этом случае система будет транслировать событие, указывающее, что план питания изменился. Это событие включает новое значение для параметра питания.
Связанные разделы
-
о управления питанием