Gestione delle IRP_MN_SET_POWER per gli stati di alimentazione del sistema
Il power manager invia un'IRP di alimentazione che specifica il codice secondario IRP_MN_SET_POWER e uno stato di alimentazione del sistema per uno dei motivi seguenti:
Per modificare lo stato di alimentazione del sistema.
Per confermare lo stato di alimentazione corrente dopo una richiesta di IRP_MN_QUERY_POWER non riuscita.
Tramite gestione I/O, power manager invia l'IRP al driver principale nello stack di dispositivi in ogni nodo del dispositivo PnP. L'IRP notifica tutti i driver nello stack dello stato di alimentazione del sistema corretto.
Per garantire un'avvio ordinato, i gruppi di integrazione del sistema power manager attivano l'alimentazione in modo che i dispositivi padre abbiano l'opportunità di attivare prima che i figli facciano. Il power manager non esegue query prima di inviare un'IRP di alimentazione del sistema.
Analogamente, per assicurarsi che il computer dorma o arresti in modo ordinato, il power manager invia gli INDIRIZZI DI rete di sistema che specificano l'interruzione, l'ibernazione o l'arresto in una sequenza definita, in modo che i dispositivi siano più lontani dal risparmio di energia radice prima che i dispositivi si avvicinano alla radice. Ogni volta che è possibile, le query di Power Manager prima di inviare tale IRP. Per altre informazioni, vedere Gestione delle IRP_MN_QUERY_POWER per Gli stati di alimentazione del sistema.
L'IRP di alimentazione del sistema non è una richiesta diretta per modificare lo stato di alimentazione. Si tratta di una notifica. Un driver non deve modificare lo stato di alimentazione del suo dispositivo come risposta diretta all'IRP di alimentazione del sistema ; un driver modifica lo stato di alimentazione del dispositivo solo in risposta a un'IRP di alimentazione del dispositivo . Il proprietario del dispositivo power policy invia l'IRP di alimentazione del dispositivo; vedere Gestione di un sistema Set-Power IRP in un proprietario di Power Policy del dispositivo.
Anche se il dispositivo è già in uno stato di alimentazione del dispositivo valido per lo stato di alimentazione del sistema richiesto, ogni driver deve tuttavia passare l'IRP di sistema impostato sul driver inferiore successivo, fino a raggiungere il driver del bus. Solo il driver del bus è autorizzato a completare l'IRP.
Il modo in cui un driver gestisce questa IRP dipende dal ruolo nello stack di dispositivi, come descritto nelle sezioni seguenti:
Gestione di un sistema Set-Power IRP in un proprietario di Power Policy del dispositivo
Gestione di un sistema Set-Power IRP in un driver del bus
Gestione di un sistema Set-Power IRP in un driver di filtro
Un driver non riesce a una richiesta di IRP_MN_SET_POWER per impostare lo stato di alimentazione del sistema. Il power manager ignora lo stato di errore restituito per questa RP.