Condividi tramite


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.
Poiché non si conosce quale di questi eventi fa sì che il framework chiami il driver, è necessario presupporre che il dispositivo possa tornare allo stato di lavoro (D0).

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

Vedere anche

EvtDeviceSelfManagedIoCleanup

EvtDeviceSelfManagedIoFlush

EvtDeviceSelfManagedIoInit

EvtDeviceSelfManagedIoRestart