EVT_WDF_TIMER Rückruffunktion (wdftimer.h)
[Gilt für KMDF und UMDF]
Die EvtTimerFunc Ereignisrückruffunktion wird aufgerufen, wenn ein bestimmter Zeitraum abgelaufen ist.
Syntax
EVT_WDF_TIMER EvtWdfTimer;
void EvtWdfTimer(
[in] WDFTIMER Timer
)
{...}
Parameter
[in] Timer
Ein Handle für ein Framework-Timerobjekt, das aus einem vorherigen Aufruf von WdfTimerCreateabgerufen wurde.
Rückgabewert
Nichts
Bemerkungen
Um eine EvtTimerFunc Rückruffunktion zu registrieren und den Zeitraum anzugeben, der vor dem Aufrufen dieser Funktion verstrichen sein soll, muss ihr Treiber WdfTimerCreateaufrufen.
In KMDF-Versionen vor Version 1.9 implementiert das Framework EvtTimerFunc Rückruffunktionen als verzögerte Prozeduraufrufe (DPCs). Daher fügt das System, wenn ein Zeitraum verstrichen ist, einen Aufruf eines EvtTimerFunc Rückruffunktion zu einer DPC-Warteschlange hinzu. Das System ruft die EvtTimerFunc Rückruffunktion bei IRQL = DISPATCH_LEVEL auf, wenn sie die Front der Warteschlange erreicht, und eine CPU, die bei IRQL ausgeführt wird < DISPATCH_LEVEL, verfügbar ist.
In KMDF-Versionen 1.9 und höher implementiert das Framework standardmäßig EvtTimerFunc Rückruffunktionen als DPCs. Wenn der Treiber die Ausführungsebene des Timerobjekts auf WdfExecutionLevelPassive-festlegt, ruft das Framework die EvtTimerFunc- Rückruffunktion aus einer Arbeitsaufgabe auf, bei IRQL = PASSIVE_LEVEL.
Anmerkung
Wenn eine EvtTimerFunc Rückruffunktion, die bei PASSIVE_LEVEL ausgeführt wird, WdfObjectDeleteaufruft, führt dies zu Deadlock. Warten Sie stattdessen, bis das übergeordnete Element den Timer automatisch löscht, wenn das Gerät entfernt wird. Wenn Sie eine Arbeitsaufgabe frühzeitig löschen müssen, planen Sie eine Arbeitsaufgabe aus dem Timerrückruf, um den Timer zu löschen.
Ab UMDF Version 2.0 wird der EvtTimerFunc eines UMDF-Treibers Rückruffunktionen immer bei PASSIVE_LEVEL ausgeführt.
Weitere Informationen zu Framework-Timerobjekten finden Sie unter Using Timers.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Minimale KMDF-Version | 1.0 |
Mindest-UMDF-Version | 2.0 |
Header- | wdftimer.h (include Wdf.h) |
IRQL- | Siehe Abschnitt "Hinweise". |