Condividi tramite


Chiamata di PoStartNextPowerIrp da un driver di filtro

A partire da Windows Vista, la chiamata a PoStartNextPowerIrp non è necessaria e la chiamata a questa routine non esegue alcuna operazione di risparmio energia. Tuttavia, in Windows Server 2003, Windows XP e Windows 2000, un driver di filtro deve chiamare PoStartNextPowerIrp una volta per ogni IRP_MN_QUERY_POWER o IRP_MN_SET_POWER richiesta ricevuta dal driver. Quando si verifica la chiamata dipende dal tipo di richiesta e dal fatto che il driver avrà esito negativo o esito positivo della richiesta, come illustrato nella tabella seguente.

Tipo di richiesta Se il driver riesce alla richiesta, viene eseguita la chiamata: Se il driver non riesce la richiesta, viene eseguita la chiamata:

IRP_MN_QUERY_POWER (stato di alimentazione del dispositivo)

In una routine IoCompletion , immediatamente prima di tornare.

Nella routine DispatchPower prima di chiamare IoCompleteRequest.

IRP_MN_QUERY_POWER (stato di alimentazione del sistema)

Nella routine DispatchPower , dopo aver acquisito il blocco e prima di impostare la posizione dello stack IRP.

Nella routine DispatchPower prima di chiamare IoCompleteRequest.

IRP_MN_SET_POWER (stato di alimentazione del dispositivo)

In una routine IoCompletion , immediatamente prima di tornare.

Non consentiti.

IRP_MN_SET_POWER (stato di alimentazione del sistema)

Nella routine DispatchPower , dopo aver acquisito il blocco e prima di impostare la posizione dello stack IRP.

Non consentiti.