EVT_HIDSPICX_NOTIFY_POWERDOWN funzione di callback (hidspicx.h)
La funzione di callback EvtHidspicxNotifyPowerdown viene implementata dal driver client per ricevere notifiche quando il dispositivo sta per passare a uno stato a basso consumo.
Sintassi
EVT_HIDSPICX_NOTIFY_POWERDOWN EvtHidspicxNotifyPowerdown;
NTSTATUS EvtHidspicxNotifyPowerdown(
WDFDEVICE Device,
BOOLEAN ArmForWake
)
{...}
Parametri
Device
Handle per un oggetto dispositivo framework il driver client ottenuto da una chiamata precedente a WdfDeviceCreate.
ArmForWake
Valore booleano che indica se il dispositivo sarà armato per la riattivazione nello stato di destinazione per la transizione di alimentazione in sospeso.
Valore restituito
NTSTATUS che indica se la preparazione per la transizione della potenza ha avuto esito positivo o negativo. Questo metodo non dovrebbe avere esito negativo in fase di esecuzione e potrebbe causare un errore del dispositivo da HidSpiCx.
Commenti
Si prevede che il driver client implementi e fornisca un callback che HidSpiCx userà per notificare al client un'interruzione in sospeso. Lo scopo di questo callback è consentire all'estensione della classe di indicare al client di arrestare l'elaborazione degli interrupt dal dispositivo, perché il dispositivo sta per entrare in uno stato a basso consumo. Il client non deve riprendere l'elaborazione interrompe finché non si è verificato un callback al callback di D0Entry WDF del client.
Lo scopo di questa funzione è evitare il caso in cui si immette uno stato di sospensione in cui l'estensione della classe invia un SET_POWER SLEEP
comando al dispositivo e il dispositivo asserisce di interrompere la riattivazione prima che dx IRP venga completato sia dall'estensione della classe che dal driver client. Senza un callback aggiuntivo che indica al client di interrompere l'elaborazione hardware degli interrupt, l'hardware emetterà una lettura SPI in risposta a un interrupt di riattivazione, che viola il protocollo che richiede all'host di inviare prima un SET_POWER ON
comando prima di elaborare interrupt dal dispositivo.
Questa funzione verrà chiamata dall'estensione della classe in IRQL passivo e il client non deve restituire finché l'elaborazione degli interrupt non è stata interrotta.
Se il dispositivo sarà armato per la riattivazione a livello di bus viene fornito al client come comodità, consentendo al driver client di evitare il monitoraggio per WAIT_WAKE
i comandi se non è un autista di autobus.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 11 |
Intestazione | hidspicx.h |
IRQL | PASSIVE_LEVEL |