Función PoStartNextPowerIrp (ntifs.h)

La rutina PoStartNextPowerIrp indica al administrador de energía que el controlador está listo para controlar el siguiente IRP de energía. (Solo Windows Server 2003, Windows XP y Windows 2000).

Sintaxis

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

Parámetros

[in, out] Irp

Puntero a un IRP en el que se IRP_MJ_POWER el código de función principal.

Valor devuelto

None

Observaciones

A partir de Windows Vista, el controlador no es necesario para llamar a PoStartNextPowerIrp y una llamada a esta rutina no realiza una operación de administración de energía. Sin embargo, en Windows Server 2003, Windows XP y Windows 2000, todos los controladores de una pila de dispositivos deben llamar a PoStartNextPowerIrp después de que el controlador termine con el IRP de energía anterior, si existe, y está listo para controlar el siguiente IRP de energía. Cada controlador debe llamarlo una vez para cada solicitud de IRP_MN_QUERY_POWER o IRP_MN_SET_POWER .

Aunque los IRP de energía solo se completan una vez, normalmente por el controlador de bus para un dispositivo, cada controlador de la pila de dispositivos debe llamar a PoStartNextPowerIrp cuando irP viaja hacia abajo o hace una copia de seguridad de la pila. Incluso si un controlador produce un error en el IRP, el controlador debe llamar a PoStartNextPowerIrp para indicar al administrador de energía que está listo para controlar otro IRP de energía.

El controlador debe llamar a PoStartNextPowerIrp mientras la ubicación actual de la pila irP apunta al controlador actual. Por lo tanto, se debe llamar a esta rutina antes de IoCompleteRequest, IoSkipCurrentIrpStackLocation y PoCallDriver. Como regla general, un controlador debe llamar a PoStartNextPowerIrp desde su rutina de IoCompletion asociada al IRP o desde la rutina de devolución de llamada que pasó a PoRequestPowerIrp.

Los conductores de autobús deben llamar a PoStartNextPowerIrp antes de completar cada IRP.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000.
Plataforma de destino Universal
Encabezado ntifs.h (incluye Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL

Consulte también

IRP

IRP_MJ_POWER

IRP_MN_QUERY_POWER

IRP_MN_SET_POWER

IoCompleteRequest

IoSkipCurrentIrpStackLocation

PoCallDriver

PoRequestPowerIrp