Função PoStartNextPowerIrp (wdm.h)

A rotina PoStartNextPowerIrp sinaliza ao power manager que o driver está pronto para lidar com o próximo IRP de energia. (Somente Windows Server 2003, Windows XP e Windows 2000.)

Sintaxe

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

Parâmetros

[in, out] Irp

Um ponteiro para um IRP no qual o código de função principal é IRP_MJ_POWER.

Retornar valor

Nenhum

Comentários

A partir do Windows Vista, o driver não precisa chamar PoStartNextPowerIrp e uma chamada para essa rotina não executa uma operação de gerenciamento de energia. No entanto, no Windows Server 2003, Windows XP e Windows 2000, PoStartNextPowerIrp deve ser chamado por cada driver em uma pilha de dispositivos depois que o driver for concluído com o IRP de energia anterior, se houver, e estiver pronto para lidar com o próximo IRP de energia. Ele deve ser chamado uma vez por cada driver para cada solicitação de IRP_MN_QUERY_POWER ou IRP_MN_SET_POWER .

Embora os IRPs de energia sejam concluídos apenas uma vez, normalmente pelo driver de ônibus de um dispositivo, cada driver na pilha de dispositivos deve chamar PoStartNextPowerIrp à medida que o IRP viaja para baixo ou fazer backup da pilha. Mesmo que um driver falhe no IRP, o driver deve, no entanto, chamar PoStartNextPowerIrp para sinalizar ao gerenciador de energia que ele está pronto para lidar com outro IRP de energia.

O driver deve chamar PoStartNextPowerIrp enquanto o local da pilha IRP atual aponta para o driver atual. Portanto, essa rotina deve ser chamada antes de IoCompleteRequest, IoSkipCurrentIrpStackLocation e PoCallDriver. Como regra geral, um driver deve chamar PoStartNextPowerIrp de sua rotina IoCompletion associada ao IRP ou da rotina de retorno de chamada passada para PoRequestPowerIrp.

Os motoristas de ônibus devem chamar PoStartNextPowerIrp antes de concluir cada IRP.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <=DISPATCH_LEVEL

Confira também

IRP

IRP_MJ_POWER

IRP_MN_QUERY_POWER

IRP_MN_SET_POWER

IoCompleteRequest

IoSkipCurrentIrpStackLocation

PoCallDriver

PoRequestPowerIrp