EVT_WDF_DEVICE_D0_ENTRY funzione di callback (wdfdevice.h)
[Si applica a KMDF e UMDF]
La funzione di callback dell'evento EvtDeviceD0Entry di un driver esegue operazioni necessarie quando il dispositivo del driver entra nello stato di alimentazione D0.
Sintassi
EVT_WDF_DEVICE_D0_ENTRY EvtWdfDeviceD0Entry;
NTSTATUS EvtWdfDeviceD0Entry(
[in] WDFDEVICE Device,
[in] WDF_POWER_DEVICE_STATE PreviousState
)
{...}
Parametri
[in] Device
Handle per un oggetto dispositivo framework.
[in] PreviousState
Enumeratore WDF_POWER_DEVICE_STATE tipizzato che identifica lo stato di alimentazione del dispositivo precedente.
Valore restituito
Se la funzione di callback EvtDeviceD0Entry non rileva errori, deve restituire STATUS_SUCCESS o un altro valore di stato per il quale NT_SUCCESS(stato) è uguale a TRUE. In caso contrario, deve restituire un valore di stato per il quale NT_SUCCESS(stato) equivale a FALSE.
Per altre informazioni sui valori restituiti della funzione di callback, vedere Segnalazione di errori del dispositivo.
Il framework non chiama la funzione di callback EvtDeviceD0Exit del driver dopo la funzione di callback EvtDeviceD0Entry restituisce un valore di stato per il quale NT_SUCCESS(stato) è uguale a FALSE.
Commenti
Per registrare una funzione di callback EvtDeviceD0Entry per un dispositivo, un driver deve chiamare WdfDeviceInitSetPnpPowerEventCallbacks.
Se il driver ha registrato una funzione di callback EvtDeviceD0Entry per un dispositivo, il framework chiama la funzione ogni volta che il dispositivo entra nello stato di lavoro (D0). Un dispositivo immetterà lo stato D0 quando si verifica una delle operazioni seguenti:
- Un dispositivo viene enumerato (perché il dispositivo è stato collegato o il sistema è stato riavviato).
- Il sistema e tutti i suoi dispositivi tornano agli stati di lavoro da uno stato di bassa potenza.
- Il dispositivo torna allo stato di funzionamento dopo che ha immesso uno stato di bassa potenza perché era inattivo (se il dispositivo supporta l'inattività a bassa potenza).
- Il gestore Plug and Play ha ridistribuito le risorse hardware del sistema tra i dispositivi del sistema.
La funzione di callback deve eseguire tutte le operazioni necessarie per rendere il dispositivo completamente operativo, ad esempio il caricamento del firmware o l'abilitazione delle funzionalità del dispositivo disabilitate quando il dispositivo è in uno stato a bassa potenza.
Se la funzione di callback EvtDeviceD0Entry restituisce un valore di stato per cui NT_SUCCESS(status) è FALSE, il framework esegue le operazioni seguenti:
- Se il dispositivo inizia per la prima volta, il framework inizia una sequenza di rimozione ordinata per il dispositivo.
- Se il dispositivo restituisce uno stato di bassa potenza allo stato di funzionamento, il framework inizia una sequenza di rimozione a sorpresa per il dispositivo.
Per altre informazioni su quando il framework chiama la funzione di callback EvtDeviceD0Entry , vedere Scenari di PnP e Power Management.
Per altre informazioni sui driver che forniscono questa funzione di callback, vedere Supporto di PnP e Power Management nei driver di funzione.
La funzione di callback EvtDeviceD0Entry viene chiamata in IRQL = PASSIVE_LEVEL. Non è consigliabile rendere questa funzione di callback paginabile.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Universale |
Versione KMDF minima | 1.0 |
Versione UMDF minima | 2,0 |
Intestazione | wdfdevice.h (includere Wdf.h) |
IRQL | PASSIVE_LEVEL (vedere la sezione Osservazioni) |