Événements de mise en éveil système
Les informations suivantes s’appliquent aux sorties de veille (S3) et de veille prolongée (S4). Pour les sorties de veille moderne (S0 Low Power Idle), reportez-vous à transition entre les états inactifs et actifs.
Votre application peut restaurer un ordinateur dans un état de veille à l’état de travail à l’aide d’un minuteur planifié ou d’un événement d’appareil. Il s’agit d’un événement de mise en éveil . Utilisez un objet minuteur waitable pour spécifier l’heure à laquelle le système doit se réveiller. Pour créer l’objet, utilisez la fonction CreateWaitableTimer. Pour définir le minuteur, utilisez la fonction SetWaitableTimer. Le paramètre pDueTime spécifie quand le minuteur est signalé. Pour spécifier que le système doit se réveiller lorsque le minuteur est signalé, définissez le paramètre fResume sur TRUE.
Lorsque le système se réveille automatiquement en raison d’un événement (autre que le commutateur d’alimentation ou l’activité de l’utilisateur), le système définit automatiquement un minuteur inactif sans assistance sur au moins 2 minutes. Ce minuteur donne aux applications suffisamment de temps pour appeler la fonction SetThreadExecutionState pour indiquer qu’elles sont occupées. Cette fois, le système peut revenir à l’état de veille rapidement une fois que l’ordinateur n’est plus nécessaire. Les critères suivants déterminent si le système retourne à l’état de veille :
- Si le système se réveille automatiquement (autrement dit, aucune activité utilisateur n’est présente), il s’arrête dès que le minuteur d’inactivité sans assistance expire, en supposant qu’aucune application n’a appelé SetThreadExecutionState pour indiquer que le système est requis.
- Les éveils basés sur l’appareil déclenchent le minuteur d’inactivité sans assistance par défaut, sauf si le pilote de périphérique indique la présence de l’utilisateur. Si le pilote indique la présence de l’utilisateur, le minuteur d’inactivité du système est utilisé.
- Si le système se réveille automatiquement, mais que l’utilisateur fournit une nouvelle entrée pendant que l’événement est géré, le système ne retourne pas automatiquement en veille en fonction du minuteur inactif sans assistance. Au lieu de cela, le système retourne en veille en fonction du minuteur d’inactivité du système.
- Si le système se réveille en raison de l’activité de l’utilisateur, le système ne revient pas automatiquement en veille en fonction du minuteur d’inactivité sans assistance. Au lieu de cela, le système retourne en veille en fonction du minuteur d’inactivité du système.
Lorsque le système se réveille automatiquement, il diffuse l’événement PBT_APMRESUMEAUTOMATIC à toutes les applications. Étant donné que l’utilisateur n’est pas présent, la plupart des applications ne doivent rien faire. Les applications de gestion des événements, telles que les serveurs de télécopie, doivent gérer leurs événements. Pour déterminer si le système est dans cet état, appelez la fonction IsSystemResumeAutomatic. Lorsque le système se réveille automatiquement, l’affichage n’est pas activé automatiquement.
Si le système se réveille en raison de l’activité de l’utilisateur, le système diffuse d’abord l’événement PBT_APMRESUMEAUTOMATIC suivi d’un événement de PBT_APMRESUMESUSPEND. En outre, le système active l’affichage. Votre application doit rouvrir les fichiers qu’elle a fermés lorsque le système est entré en veille et préparer l’entrée utilisateur.
Rubriques connexes
-
à propos de l' de gestion de l’alimentation