EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND funzione di callback (wdfdevice.h)
[Si applica a KMDF e UMDF]
La funzione di callback dell'evento EvtDeviceSelfManagedIoSuspend di un driver sospende le operazioni di I/O autogestito di un dispositivo.
Sintassi
EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND EvtWdfDeviceSelfManagedIoSuspend;
NTSTATUS EvtWdfDeviceSelfManagedIoSuspend(
[in] WDFDEVICE Device
)
{...}
Parametri
[in] Device
Handle per un oggetto dispositivo framework.
Valore restituito
Se l'operazione ha esito positivo, la funzione di callback EvtDeviceSelfManagedIoSuspend deve restituire STATUS_SUCCESS o un altro valore di stato per il quale NT_SUCCESS(status) è uguale a TRUE. In caso contrario, deve restituire un valore di stato per il quale NT_SUCCESS(status) è uguale a FALSE. Se NT_SUCCESS(stato) è FALSE, il framework arresta il dispositivo e ne rimuove gli oggetti dispositivo.
Se NT_SUCCESS(status) è uguale a FALSE, il framework chiama le funzioni di callback EvtDeviceSelfManagedIoFlush e EvtDeviceSelfManagedIoCleanup del driver.
Per altre informazioni sui valori restituiti di questa funzione di callback, vedere Segnalazione di errori del dispositivo.
Commenti
Per registrare una funzione di callback EvtDeviceSelfManagedIoSuspend , un driver deve chiamare WdfDeviceInitSetPnpPowerEventCallbacks.
Se il driver ha registrato una funzione di callback EvtDeviceSelfManagedIoSuspend , il framework lo chiama per uno dei motivi seguenti:
- Il dispositivo sta per entrare in uno stato a basso consumo.
- Il dispositivo viene rimosso o rimosso a sorpresa.
- Il manager Plug and Play sta per ridistribuire le risorse hardware del sistema tra i dispositivi collegati al sistema.
Se il dispositivo sta per entrare in uno stato a basso consumo, il framework chiama la funzione di callback EvtDeviceSelfManagedIoSuspend del driver prima di chiamare la funzione di callback EvtDeviceD0Exit del driver.
Se la funzione di callback restituisce un valore di stato per il quale NT_SUCCESS(stato) è FALSE e se il framework sta tentando di abbassare la potenza del dispositivo, il framework arresta il dispositivo e ne rimuove gli oggetti dispositivo.
La funzione di callback EvtDeviceSelfManagedIoSuspend deve eseguire qualsiasi operazione necessaria per arrestare le operazioni di I/O autogestito del dispositivo.
Per altre informazioni sui casi in cui il framework chiama questa funzione di callback, vedere Scenari di risparmio energia e PnP.
Per altre informazioni sui driver che forniscono questa funzione di callback, vedere Uso di Self-Managed I/O.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Versione UMDF minima | 2,0 |
Intestazione | wdfdevice.h (include Wdf.h) |
IRQL | PASSIVE_LEVEL |