Compartir a través de


EVT_HIDSPICX_NOTIFY_POWERDOWN función de devolución de llamada (hidspicx.h)

El controlador de cliente implementa la función de devolución de llamada EvtHidspicxNotifyPowerdown para recibir notificaciones cuando el dispositivo está a punto de pasar a un estado de baja potencia.

Sintaxis

EVT_HIDSPICX_NOTIFY_POWERDOWN EvtHidspicxNotifyPowerdown;

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

Parámetros

Device

Identificador de un objeto de dispositivo de marco que el controlador cliente obtuvo de una llamada anterior a WdfDeviceCreate.

ArmForWake

Valor booleano que indica si el dispositivo se armará para la reactivación en el estado de destino para la transición de energía inminente.

Valor devuelto

NTSTATUS que indica si la preparación para la transición de energía se realizó correctamente o no. No se espera que este método produzca un error en tiempo de ejecución y puede provocar un error en el dispositivo por HidSpiCx.

Observaciones

Se espera que el controlador cliente implemente y proporcione una devolución de llamada que HidSpiCx usará para notificar al cliente una apagado inminente. El propósito de esta devolución de llamada es permitir que la extensión de clase indique al cliente que detenga el procesamiento de interrupciones del dispositivo, ya que el dispositivo está a punto de entrar en un estado de baja potencia. El cliente no debe reanudar el procesamiento de interrupciones hasta que se haya producido una devolución de llamada a la devolución de llamada D0Entry WDF del cliente.

El propósito de esta función es evitar el caso al entrar en un estado de suspensión en el que la extensión de clase envía un comando SET_POWER SLEEP al dispositivo y el dispositivo declara la interrupción para reactivarse antes de que la extensión de clase y el controlador de cliente complete dx IRP. Sin una devolución de llamada adicional que indique al cliente que detenga el procesamiento de hardware de las interrupciones, el hardware emitiría una lectura spi en respuesta a una interrupción de reactivación, lo que infringiría el protocolo que requiere que el host envíe primero un comando de SET_POWER ON antes de procesar interrupciones del dispositivo.

La extensión de clase llamará a esta función en IRQL pasivo y el cliente no debe devolverse hasta que el procesamiento de interrupciones haya dejado de funcionar.

Si el dispositivo se armará o no para reactivarse en el nivel de autobús se proporciona al cliente como comodidad, lo que permite al controlador cliente evitar la supervisión de comandos de WAIT_WAKE si no es un conductor de autobús.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 11
encabezado de hidspicx.h
irQL PASSIVE_LEVEL

Consulte también

de Power States del dispositivo

Low-Power De dispositivo