Funzione PoStartNextPowerIrp (wdm.h)

La routine PoStartNextPowerIrpsegnala al gestore energia che il driver è pronto per gestire l'IRP di alimentazione successiva. (solo Windows Server 2003, Windows XP e Windows 2000).

Sintassi

void PoStartNextPowerIrp(
  [in, out] PIRP Irp
);

Parametri

[in, out] Irp

Puntatore a un'IRP in cui il codice della funzione principale è IRP_MJ_POWER.

Valore restituito

nessuno

Osservazioni

A partire da Windows Vista, il driver non è necessario chiamare PoStartNextPowerIrp e una chiamata a questa routine non esegue un'operazione di risparmio energia. Tuttavia, in Windows Server 2003, Windows XP e Windows 2000, PoStartNextPowerIrp deve essere chiamato da ogni driver in uno stack di dispositivi dopo che il driver viene completato con l'IRP di alimentazione precedente, se presente ed è pronto per gestire l'IRP di alimentazione successiva. Deve essere chiamato una volta da ogni driver per ogni IRP_MN_QUERY_POWER o IRP_MN_SET_POWER richiesta.

Anche se gli IRP di alimentazione vengono completati una sola volta, in genere dal driver del bus per un dispositivo, ogni driver nello stack di dispositivi deve chiamare PoStartNextPowerIrp come IRP viaggia verso il basso o esegue il backup dello stack. Anche se un driver ha esito negativo, il driver deve tuttavia chiamare PoStartNextPowerIrp per segnalare al power manager che è pronto per gestire un altro IRP di alimentazione.

Il driver deve chiamare PoStartNextPowerIrp mentre il percorso dello stack IRP corrente punta al driver corrente. Pertanto, questa routine deve essere chiamata prima di IoCompleteRequest, IoSkipCurrentIrpStackLocation e PoCallDriver. Come regola generale, un driver deve chiamare PoStartNextPowerIrp dalla routine IoCompletion associata all'IRP o dalla routine di callback passata a PoRequestPowerIrp.

I driver del bus devono chiamare PoStartNextPowerIrp prima di completare ogni IRP.

Requisiti

   
Client minimo supportato Disponibile a partire da Windows 2000.
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL

Vedi anche

IRP

IRP_MJ_POWER

IRP_MN_QUERY_POWER

IRP_MN_SET_POWER

IoCompleteRequest

IoSkipCurrentIrpStackLocation

PoCallDriver

PoRequestPowerIrp