Partager via


Événements de mise en éveil du système

Les informations suivantes s’appliquent aux sorties de veille (S3) et de mise en veille prolongée (S4). Pour les veilles de veille moderne (S0 faible consommation d’inactivité), reportez-vous à la transition entre les états inactifs et actifs.

Votre application peut restaurer un ordinateur qui est en veille à l’état de fonctionnement à l’aide d’un minuteur planifié ou d’un événement d’appareil. Il s’agit d’un événement de réveil. Utilisez un objet minuteur d’attente 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 sera 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 d’inactivité 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 heure permet au système de revenir rapidement à l’état de veille 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 (c’est-à-dire qu’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 ré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é 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 revient pas automatiquement en veille en fonction du minuteur d’inactivité sans assistance. Au lieu de cela, le système revient 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 se met pas automatiquement en veille en fonction du minuteur d’inactivité sans assistance. Au lieu de cela, le système revient 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 diffusera d’abord l’événement PBT_APMRESUMEAUTOMATIC suivi d’un événement 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.

À propos de la gestion de l’alimentation

Critères de veille système