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 la transizione del sistema dallo stato di lavoro: PoSetSystemState, PoRegisterSystemState e PoUnregisterSystemState.
Chiamando PoRegisterSystemState o PoSetSystemState, un driver può notificare al risparmio energia che un utente è presente o che il driver richiede l'uso del sistema o della visualizzazione.
PoRegisterSystemState consente a un driver di registrare uno stato occupato continuo. Restituisce un handle tramite il quale il driver può in seguito modificare le impostazioni. Purché la registrazione dello stato sia attiva, il risparmio energia non tenta di mettere il sistema in sospensione. Il driver annulla la registrazione dello stato chiamando PoUnregisterSystemState.
Con PoSetSystemState, un driver invia una notifica al risparmio energia delle stesse condizioni (utente presente, richiesto dal sistema, visualizzazione obbligatoria), ma questa impostazione non è continua. Ha l'effetto di riavviare tutti i conteggi inattivi associati alle condizioni specificate.
Usando queste routine, un driver può prevenire molti, ma non tutti, passa dallo stato di lavoro. Il risparmio energia arresta sempre il sistema quando la perdita di alimentazione è imminente o quando un utente richiede esplicitamente l'arresto.