Compartir a través de


Llamar a PoStartNextPowerIrp desde un propietario de directiva de energía del dispositivo

A partir de Windows Vista, no es necesario llamar a PoStartNextPowerIrp y llamar a esta rutina no realiza ninguna operación de administración de energía. Sin embargo, en Windows Server 2003, Windows XP y Windows 2000, un controlador de función propietario de la directiva de energía del dispositivo debe llamar a PoStartNextPowerIrp una vez para cada IRP_MN_QUERY_POWER o IRP_MN_SET_POWER solicitud que recibe el controlador. Cuando se produce la llamada depende del tipo de solicitud y de si el controlador producirá un error o se realizará correctamente la solicitud, como se muestra en la tabla siguiente.

Tipo de solicitud Si el controlador se realiza correctamente la solicitud, se produce la llamada: Si el controlador produce un error en la solicitud, se produce la llamada:

IRP_MN_QUERY_POWER (estado de alimentación del dispositivo)

En una rutina ioCompletion , inmediatamente antes de volver.

En la rutina DispatchPower , antes de llamar a IoCompleteRequest.

IRP_MN_QUERY_POWER (estado de alimentación del sistema)

En la rutina de devolución de llamada PoRequestPowerIrp para el IRP del dispositivo relacionado, inmediatamente antes de completar el IRP del sistema.

En la rutina DispatchPower , antes de llamar a IoCompleteRequest.

IRP_MN_SET_POWER (estado de alimentación del dispositivo)

En una rutina ioCompletion , inmediatamente antes de volver.

No permitido.

IRP_MN_SET_POWER (estado de alimentación del sistema)

En la rutina de devolución de llamada PoRequestPowerIrp para el IRP del dispositivo relacionado, inmediatamente antes de completar el IRP del sistema.

No permitido.