Compartilhar via


EVT_HIDSPICX_NOTIFY_POWERDOWN função de retorno de chamada (hidspicx.h)

A função de retorno de chamada EvtHidspicxNotifyPowerdown é implementada pelo driver cliente para receber notificações quando o dispositivo está prestes a fazer a transição para um estado de baixa potência.

Sintaxe

EVT_HIDSPICX_NOTIFY_POWERDOWN EvtHidspicxNotifyPowerdown;

NTSTATUS EvtHidspicxNotifyPowerdown(
  WDFDEVICE Device,
  BOOLEAN ArmForWake
)
{...}

Parâmetros

Device

Um identificador para um objeto de dispositivo de estrutura que o driver cliente obteve de uma chamada anterior para WdfDeviceCreate.

ArmForWake

Valor booliano que indica se o dispositivo estará armado para ativação no estado de destino para a transição de energia iminente.

Valor de retorno

NTSTATUS indicando se a preparação para a transição de energia foi bem-sucedida ou não. Esse método não deve falhar em runtime e pode resultar em uma falha do dispositivo por HidSpiCx.

Observações

Espera-se que o driver cliente implemente e forneça um retorno de chamada que HidSpiCx usará para notificar o cliente de uma queda de energia iminente. A finalidade desse retorno de chamada é permitir que a extensão de classe instrua o cliente a parar de processar interrupções do dispositivo, pois o dispositivo está prestes a entrar em um estado de baixa potência. O cliente não deve retomar o processamento de interrupções até que ocorra um retorno de chamada para o retorno de chamada D0Entry WDF do cliente.

A finalidade dessa função é evitar o caso ao entrar em um estado de suspensão em que a extensão de classe envia um comando SET_POWER SLEEP para o dispositivo e o dispositivo afirma interromper a ativação antes que o Dx IRP seja concluído pela extensão de classe e pelo driver do cliente. Sem um retorno de chamada adicional instruindo o cliente a interromper o processamento de hardware de interrupções, o hardware emitiria uma leitura de SPI em resposta a uma interrupção de ativação, o que violaria o protocolo que exige que o host primeiro envie um comando SET_POWER ON antes de processar interrupções do dispositivo.

Essa função será chamada pela extensão de classe no IRQL passivo e o cliente não deverá retornar até que o processamento de interrupção seja interrompido.

Se o dispositivo estará ou não armado para velório no nível do ônibus é fornecido ao cliente como uma conveniência, permitindo que o motorista cliente evite monitorar comandos WAIT_WAKE se ele não for um motorista de ônibus.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 11
cabeçalho hidspicx.h
IRQL PASSIVE_LEVEL

Consulte também

de estados de energia do dispositivo

de estados de Low-Power de dispositivos