Condividi tramite


EVT_WDF_DEVICE_RELEASE_HARDWARE funzione di callback (wdfdevice.h)

[Si applica a KMDF e UMDF]

Il driver EvtDeviceReleaseHardware funzione di callback degli eventi esegue operazioni necessarie quando un dispositivo non è più accessibile.

Sintassi

EVT_WDF_DEVICE_RELEASE_HARDWARE EvtWdfDeviceReleaseHardware;

NTSTATUS EvtWdfDeviceReleaseHardware(
  [in] WDFDEVICE Device,
  [in] WDFCMRESLIST ResourcesTranslated
)
{...}

Parametri

[in] Device

Handle per un oggetto dispositivo framework.

[in] ResourcesTranslated

Handle per un oggetto elenco di risorse che identifica le risorse hardware tradotte assegnate dal gestore Plug and Play al dispositivo.

Valore restituito

Se il EvtDeviceReleaseHardware funzione di callback non rileva errori, deve restituire STATUS_SUCCESS o un altro valore di stato per cui NT_SUCCESS(stato) è uguale TRUE. In caso contrario, deve restituire un valore di stato per il quale NT_SUCCESS( stato) è uguale a FALSE. Non restituire STATUS_NOT_SUPPORTED.

Osservazioni

Per registrare un EvtDeviceReleaseHardware funzione di callback, il driver deve chiamare WdfDeviceInitSetPnpPowerEventCallbacks.

Se un driver ha registrato un EvtDeviceReleaseHardware funzione di callback, il framework lo chiama durante le transizioni seguenti:

  • Ribilanciamento delle risorse
  • Rimozione ordinata
  • Rimozione a sorpresa

Il framework chiama il EvtDeviceReleaseHardware funzione di callback dopo che il framework ha interrotto l'invio di richieste di I/O al dispositivo, eventuali interruzioni assegnate al dispositivo sono state disabilitate e disconnesse e il dispositivo è stato disattivato.

Quando il framework chiama il EvtDeviceReleaseHardware, il PDO per il dispositivo esiste ancora e può essere sottoposto a query per le informazioni sul dispositivo disponibili nello stato spento, ad esempio lo stato di configurazione PCI.

Inoltre, le risorse hardware tradotte fornite dal framework per EvtDeviceReleaseHardware vengono comunque assegnate al dispositivo. Lo scopo principale di questa funzione di callback è rilasciare tali risorse e in particolare per annullare il mapping di tutte le risorse di memoria mappate dal driver EvtDevicePrepareHardware funzione di callback mappata. Il driver può anche usare questo callback per eseguire qualsiasi altra attività di gestione del driver o del dispositivo che potrebbe essere necessaria nello stato spento. In genere, tutte le altre operazioni di arresto hardware devono essere eseguite nel driver EvtDeviceD0Exit funzione di callback.

Il framework chiama sempre il driver EvtDeviceReleaseHardware funzione di callback se il driver EvtDevicePrepareHardware funzione di callback è stata chiamata, anche se EvtDevicePrepareHardware restituito un codice di errore.

Un driver per un dispositivo con dispositivi figlio può controllare l'ordine in cui il framework chiama il EvtDeviceReleaseHardware funzioni di callback per il dispositivo padre e i relativi figli chiamando WdfDeviceInitSetReleaseHardwareOrderOnFailure dall'interno della relativa funzione di callback EvtDriverDeviceAdd.

Per altre informazioni sui casi in cui il framework chiama questa funzione di callback, vedere scenari di risparmio energia e PnP.

Per altre informazioni sulle risorse hardware, vedere Risorse hardware per driver Framework-Based.

Per altre informazioni sui driver che forniscono questa funzione di callback, vedere Supporto di PnP e risparmio energia nei driver di funzione.

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

EvtDevicePrepareHardware