Condividi tramite


Gestione di IRP di alimentazione

I driver gestiscono gli IRP di alimentazione in una routine DispatchPower. Tutte le richieste di risparmio energia hanno il codice IRP principale IRP_MJ_POWER e uno dei codici secondari seguenti:

IRP_MN_QUERY_POWER : query per determinare se la modifica dello stato di alimentazione è fattibile

IRP_MN_SET_POWER : richiede una modifica da uno stato di alimentazione a un altro

IRP_MN_WAIT_WAKE — richiede che un dispositivo sia abilitato per riattivare sé stesso o il sistema

IRP_MN_POWER_SEQUENCE : richiede informazioni per ottimizzare il ripristino dell'alimentazione in un particolare dispositivo

È necessario il supporto per IRP_MN_SET_POWER e IRP_MN_QUERY_POWER. Tutti i driver devono essere preparati a gestire questi IRP.

Il supporto per IRP_MN_WAIT_WAKE è necessario per tutti i driver nello stack di dispositivi per qualsiasi dispositivo in grado di risvegliare in risposta a un segnale esterno. Un driver invia questo IRP per abilitare il dispositivo per la riattivazione.

Il supporto per IRP_MN_POWER_SEQUENCE è facoltativo. Questo IRP offre un'ottimizzazione per i dispositivi che richiedono molto tempo per ripristinare l'alimentazione.

Un IRP di alimentazione può specificare un'operazione di alimentazione del sistema o un'operazione di alimentazione del dispositivo. Power IRP per il sistema e power IRP per i singoli dispositivi intraprendono percorsi leggermente diversi attraverso uno stack di dispositivi, come illustrato nelle sezioni seguenti.