EVT_HIDSPICX_NOTIFY_POWERDOWN función de devolución de llamada (hidspicx.h)
El controlador 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 energía.
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 reactivación en 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 producir un error en el dispositivo por HidSpiCx.
Comentarios
Se espera que el controlador de cliente implemente y proporcione una devolución de llamada que HidSpiCx usará para notificar al cliente un 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 energía. 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 de 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 SET_POWER SLEEP
comando al dispositivo y el dispositivo afirma la interrupción para reactivarse antes de que dx IRP se complete mediante la extensión de clase y el controlador de cliente. 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 SET_POWER ON
comando antes de procesar las 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 conductor del cliente evitar la supervisión de WAIT_WAKE
comandos si no es un conductor de autobús.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 11 |
Encabezado | hidspicx.h |
IRQL | PASSIVE_LEVEL |