Condividi tramite


Prevenzione delle modifiche dello stato di alimentazione del sistema

Anche se i driver non possono impostare direttamente i criteri di alimentazione del sistema, il risparmio energia fornisce tre routine tramite cui un driver può impedire le transizioni di sistema dallo stato di lavoro: PoSetSystemState, PoRegisterSystemState e PoUnregisterSystemState.

Chiamando PoRegisterSystemState o PoSetSystemState, un driver può notificare al gestore dell'alimentazione che un utente è presente o che il driver richiede l'uso del sistema o del display.

PoRegisterSystemState consente a un driver di registrare uno stato occupato continuo. Restituisce un handle tramite il quale il driver può modificare le impostazioni in un secondo momento. Finché la registrazione dello stato è attiva, il gestore dell'alimentazione non tenta di mettere il sistema in sospensione. Il driver annulla la registrazione dello stato chiamando PoUnregisterSystemState.

Con PoSetSystemState, il driver invia una notifica al gestore dell'alimentazione delle stesse condizioni (utente presente, sistema richiesto, visualizzazione obbligatoria), ma questa impostazione non è continua. Ha l'effetto di riavviare qualsiasi conteggio inattivo associato alle condizioni specificate.

Usando queste routine, un driver può prevenire molte, ma non tutte, le transizioni dallo stato operativo. Il gestore di alimentazione arresta sempre il sistema quando la perdita di energia è imminente o quando un utente richiede esplicitamente l'arresto.