Função PoSetPowerState (ntifs.h)
A rotina PoSetPowerState notifica o sistema de uma alteração no de estado de energia do dispositivo para um dispositivo.
Sintaxe
POWER_STATE PoSetPowerState(
[in] PDEVICE_OBJECT DeviceObject,
[in] POWER_STATE_TYPE Type,
[in] POWER_STATE State
);
Parâmetros
[in] DeviceObject
Um ponteiro para o DEVICE_OBJECTde destino.
[in] Type
Indica um valor POWER_STATE_TYPE. Os drivers devem especificar DevicePowerState.
[in] State
Especifica o estado de energia a ser definido. Os drivers devem especificar um valor DEVICE_POWER_STATE.
Valor de retorno
poSetPowerState retorna o estado de energia anterior.
Observações
PoSetPowerState notifica o power manager do novo estado de energia de um dispositivo. Cada driver em uma pilha de dispositivos (filtro, função e drivers de barramento) deve chamar poSetPowerState para informar o power manager de uma alteração no estado de energia de seu objeto de dispositivo correspondente. Por exemplo:
Um driver chama essa rotina depois de receber uma solicitação de set-power do dispositivo e antes de chamar PoStartNextPowerIrp. Ao lidar com uma solicitação de IRP_MN_START_DEVICE PnP, o driver deve chamar poSetPowerState para notificar o power manager de que o dispositivo está no estado D0.
Se o dispositivo estiver sendo desligado, o driver deverá chamar poSetPowerState antes de sair do estado D0. Além disso, o driver deve ser capaz de processar solicitações de cliente antes de poSetPowerState retorna.
Se o dispositivo estiver sendo habilitado, o driver deverá chamar PoSetPowerState depois que o dispositivo for colocado com êxito no estado D0.
Para obter mais informações sobre como ativar um dispositivo para cima e para baixo, consulte Handling IRP_MN_SET_POWER for Device Power States.
Os chamadores de PoSetPowerState devem estar em execução no <DO IRQL = APC_LEVEL exceto ao definir o estado como D0. Ao definir o estado como D0, os chamadores podem estar em execução no IRQL <= DISPATCH_LEVEL.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 2000 |
da Plataforma de Destino | Universal |
cabeçalho | ntifs.h (incluem Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | Consulte a seção Comentários. |