EVT_WDF_TIMER funzione di callback (wdftimer.h)
[Si applica a KMDF e UMDF]
La funzione di callback dell'evento evtTimerFunc viene chiamata quando è trascorso un periodo di tempo specificato.
Sintassi
EVT_WDF_TIMER EvtWdfTimer;
void EvtWdfTimer(
[in] WDFTIMER Timer
)
{...}
Parametri
[in] Timer
Handle per un oggetto timer del framework ottenuto da una chiamata precedente a WdfTimerCreate.
Valore restituito
Nessuno
Osservazioni
Per registrare un EvtTimerFunc funzione di callback e specificare il periodo di tempo che deve trascorrere prima che il framework chiami questa funzione, il driver deve chiamare WdfTimerCreate.
Nelle versioni di KMDF precedenti alla versione 1.9, il framework implementa EvtTimerFunc funzioni di callback come chiamate di routine posticipate (DPC). Pertanto, quando scade un periodo di tempo, il sistema aggiunge una chiamata a un EvtTimerFunc funzione di callback a una coda DPC. Il sistema chiama il EvtTimerFunc funzione di callback in IRQL = DISPATCH_LEVEL quando raggiunge la parte anteriore della coda e è disponibile una CPU in esecuzione in IRQL < DISPATCH_LEVEL.
Per impostazione predefinita, nelle versioni 1.9 e successive di KMDF il framework implementa EvtTimerFunc funzioni di callback come CONTROLLER di dominio. In alternativa, se il driver imposta il livello di esecuzione dell'oggetto timer su WdfExecutionLevelPassive, il framework chiama il EvtTimerFunc funzione di callback da un elemento di lavoro in IRQL = PASSIVE_LEVEL.
Nota
Se un EvtTimerFunc funzione di callback in esecuzione in PASSIVE_LEVEL chiamate WdfObjectDelete, si verifica un deadlock. Attendere invece che l'elemento padre elimini automaticamente il timer quando il dispositivo viene rimosso oppure, se è necessario eliminare in anticipo, pianificare un elemento di lavoro dal callback timer per eliminare il timer.
A partire dalla versione 2.0 di un driver UMDF EvtTimerFunc le funzioni di callback vengono sempre eseguite in PASSIVE_LEVEL.
Per altre informazioni sugli oggetti timer del framework, vedere Using Timers.
Fabbisogno
Requisito | Valore |
---|---|
piattaforma di destinazione | Universale |
versione minima di KMDF | 1.0 |
versione minima di UMDF | 2.0 |
intestazione | wdftimer.h (include Wdf.h) |
IRQL | Vedere la sezione Osservazioni. |