Azioni di risparmio energia di sistema

Quando il risparmio energia invia un IRP per impostare o eseguire query sullo stato di alimentazione del sistema, specifica uno stato di alimentazione del sistema insieme a un parametro aggiuntivo che fornisce informazioni sulla modifica dello stato di alimentazione. Questo parametro, passato in Irp-Parameters.Power.ShutdownType>, è un enumeratore del tipo POWER_ACTION. L'enumeratore caratterizza la richiesta di stato di alimentazione del sistema, come illustrato nella tabella seguente.

enumeratore POWER_ACTION Stato di alimentazione del sistema richiesto

PowerActionNone

S0 o nessuna alimentazione di sistema attiva IRP

PowerActionSleep

S1, S2 o S3

PowerActionHibernate

S4

PowerActionShutdown (solo sistemi Microsoft Windows 2000 e versioni successive)

S5

PowerActionShutdownReset

S5

PowerActionShutdownOff

S5

Quando un driver riceve una query di sistema o un IRP di alimentazione impostata per S5, può controllare ShutdownType Per altre informazioni sull'arresto richiesto. Un driver può usare queste informazioni per ottimizzare la sequenza di arresto quando il computer viene reimpostato invece di spegnere l'alimentazione a tempo indeterminato. I driver della maggior parte dei dispositivi mantengono l'alimentazione quando il sistema viene reimpostato. Tuttavia, per determinati dispositivi, ad esempio un dispositivo di streaming video che esegue l'accesso diretto alla memoria (DMA), un driver potrebbe scegliere di spegnere il dispositivo quando il sistema viene reimpostato, interrompendo così qualsiasi I/O in corso.

Quando un proprietario dei criteri di risparmio energia del dispositivo invia un IRP di alimentazione del dispositivo allo stack di dispositivi in risposta a un IRP di alimentazione del sistema, i driver possono usare il parametro ShutdownType per ottenere informazioni sull'IRP di alimentazione del sistema corrente. In questo caso, il valore di ShutdownType indica lo stato di alimentazione del sistema attualmente richiesto oppure è PowerActionNone se una richiesta di sistema non è in sospeso. I driver non devono tuttavia basarsi su queste informazioni se il dispositivo richiede lo stato D0.

In Windows 98/Me questo membro contiene sempre PowerActionNone quando l'IRP richiede uno stato di alimentazione del dispositivo.