Condividi tramite


Eventi di riattivazione del sistema

Le informazioni seguenti si applicano alle riattivazioni da sospensione (S3) e ibernazione (S4). Per la riattivazione da Modern Standby (S0 Low Power Idle), vedere transizione tra stati inattive e attivi.

L'applicazione può ripristinare uno stato di sospensione di un computer in stato di sospensione usando un timer pianificato o un evento del dispositivo. Questo evento è noto come evento di riattivazione . Utilizzare un oggetto timer waitable per specificare l'ora in cui il sistema deve riattivarsi. Per creare l'oggetto, usare la funzionecreateWaitableTimer. Per impostare il timer, usare la funzionesetWaitableTimer. Il parametro pDueTime specifica quando verrà segnalato il timer. Per specificare che il sistema deve riattivarsi quando viene segnalato il timer, impostare il parametro fResume su TRUE.

Quando il sistema viene riattivato automaticamente a causa di un evento (diverso dall'interruttore di alimentazione o dall'attività utente), il sistema imposta automaticamente un timer di inattività automatica su almeno 2 minuti. Questo timer offre alle applicazioni tempo sufficiente per chiamare la funzioneSetThreadExecutionStateper indicare che sono occupati. Questa volta consente al sistema di tornare rapidamente allo stato di sospensione dopo che il computer non è più necessario. I criteri seguenti determinano se il sistema torna allo stato di sospensione:

  • Se il sistema viene riattivato automaticamente (ovvero non è presente alcuna attività utente), viene arrestato non appena scade il timer di inattività automatica, presupponendo che nessuna applicazione abbia chiamato SetThreadExecutionState per indicare che il sistema è necessario.
  • Le riattivazioni basate su dispositivo attivano il timer di inattività automatica per impostazione predefinita, a meno che il driver di dispositivo non indichi la presenza dell'utente. Se il driver indica la presenza dell'utente, viene usato il timer di inattività del sistema.
  • Se il sistema viene riattivato automaticamente, ma l'utente fornisce un nuovo input mentre l'evento viene gestito, il sistema non torna automaticamente alla sospensione in base al timer di inattività automatica. Il sistema torna invece a dormire in base al timer di inattività del sistema.
  • Se il sistema si riattiva a causa dell'attività dell'utente, il sistema non torna automaticamente alla sospensione in base al timer di inattività automatica. Il sistema torna invece a dormire in base al timer di inattività del sistema.

Quando il sistema viene riattivato automaticamente, trasmette l'evento PBT_APMRESUMEAUTOMATIC a tutte le applicazioni. Poiché l'utente non è presente, la maggior parte delle applicazioni non deve eseguire alcuna operazione. Le applicazioni di gestione degli eventi, ad esempio i server fax, devono gestire i relativi eventi. Per determinare se il sistema si trova in questo stato, chiamare la funzioneisSystemResumeAutomatic. Quando il sistema si riattiva automaticamente, lo schermo non viene attivato automaticamente.

Se il sistema si riattiva a causa dell'attività dell'utente, il sistema trasmetterà prima l'evento PBT_APMRESUMEAUTOMATIC seguito da un evento PBT_APMRESUMESUSPEND. Inoltre, il sistema accenderà lo schermo. L'applicazione deve riaprire i file chiusi quando il sistema è entrato in sospensione e prepararsi per l'input dell'utente.

Informazioni sui di risparmio energia

criteri di sospensione del sistema