EVT_WDF_DEVICE_SELF_MANAGED_IO_SUSPEND funzione di callback (wdfdevice.h)
[Si applica a KMDF e UMDF]
La funzione di callback di un driver EvtDeviceSelfManagedIoSuspend 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( stato) è uguale TRUE. In caso contrario, deve restituire un valore di stato per il quale NT_SUCCESS( stato) è uguale a FALSE. Se NT_SUCCESS(stato) è uguale a FALSE, il framework arresta il dispositivo e rimuove gli oggetti dispositivo.
Se NT_SUCCESS(stato) è 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 errori del dispositivo.
Osservazioni
Per registrare una funzione di callback EvtDeviceSelfManagedIoSuspend, un driver deve chiamare WdfDeviceInitSetPnpPowerEventCallbacks.
Se il driver ha registrato un EvtDeviceSelfManagedIoSuspend funzione di callback, 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 con sorpresa.
- Il gestore 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 il driver EvtDeviceSelfManagedIoSuspend funzione di callback prima di chiamare il driver EvtDeviceD0Exit funzione di callback.
Se la funzione di callback restituisce un valore di stato per il quale NT_SUCCESS(stato) è uguale a FALSEe se il framework sta tentando di ridurre la potenza del dispositivo, il framework arresta il dispositivo e rimuove i relativi oggetti dispositivo.
Il EvtDeviceSelfManagedIoSuspend funzione di callback 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 Using Self-Managed I/O.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
versione minima di KMDF | 1.0 |
versione minima di UMDF | 2.0 |
intestazione | wdfdevice.h (include Wdf.h) |
IRQL | PASSIVE_LEVEL |