WdfTimerStop-Funktion (wdftimer.h)
[Gilt für KMDF und UMDF]
Die WdfTimerStop--Methode stoppt die Zeitgeberuhr.
Syntax
BOOLEAN WdfTimerStop(
[in] WDFTIMER Timer,
[in] BOOLEAN Wait
);
Parameter
[in] Timer
Ein Handle für ein Framework-Timerobjekt, das durch Aufrufen WdfTimerCreateabgerufen wurde.
[in] Wait
KMDF Ein boolescher Wert, der, wenn TRUE, angibt, dass das Framework erst zurückgegeben wird, wenn alle in die Warteschlange gestellten Aufrufe der verzögerten Prozedur (DPCs) des Treibers, einschließlich der EvtTimerFunc Rückruffunktionen des Treibers, ausgeführt wurden.
UMDF Ein boolescher Wert, der, wenn TRUE, angibt, dass das Framework erst zurückgegeben wird, wenn alle in die Warteschlange eingereihten Aufrufe an die EvtTimerFunc Rückruffunktion ausgeführt wurden.
Rückgabewert
WdfTimerStop- gibt TRUE zurück, wenn sich das Timerobjekt in der Zeitgeberwarteschlange des Systems befand. Andernfalls gibt diese Methode FALSE-zurück. Weitere Informationen finden Sie im folgenden Abschnitt "Hinweise".
Wenn der Treiber ein ungültiges Objekthandle bereitstellt, tritt eine Fehlerüberprüfung auf.
Bemerkungen
Wenn ein Treiber WdfTimerStart-aufruft, wird das Timerobjekt der Warteschlange des Systems mit Zeitgeberobjekten hinzugefügt. Wenn der Timer kein periodischer Timer ist, entfernt das System das Timerobjekt aus der Warteschlange, nachdem die "Fälligkeitszeit" des Timers abgelaufen ist. Wenn der Timer ein periodischer Timer ist, verbleibt das Timerobjekt in der Warteschlange, bis der Treiber WdfTimerStop-aufruft.
Weitere Informationen zu Framework-Timerobjekten finden Sie unter Using Timers.
WdfTimerStop- muss bei IRQL = PASSIVE_LEVEL aufgerufen werden, wenn der Parameter WaitTRUEist. Andernfalls muss diese Methode bei IRQL-<= DISPATCH_LEVEL aufgerufen werden.
Rufen Sie WdfTimerStop- nicht aus EvtTimerFunc- auf, wobei der parameter Wait auf TRUEfestgelegt ist. Dies kann zu Deadlock führen.
Vorsicht
Gleichzeitige Aufrufe an WdfTimerStop- für dasselbe Timerobjekt werden in den Debugger unterteilt, wenn Verifier aktiviert ist. Weitere Informationen finden Sie unter Verwenden von KMDF Verifier-.
Beispiele
Im folgenden Codebeispiel wird ein angegebener Timer beendet und wartet, bis alle in die Warteschlange eingereihten DPCs des Treibers ausgeführt werden.
WdfTimerStop(
timerHandle,
TRUE
);
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Minimale KMDF-Version | 1.0 |
Mindest-UMDF-Version | 2.0 |
Header- | wdftimer.h (include Wdf.h) |
Library | Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF) |
IRQL- | Siehe Abschnitt "Hinweise". |
DDI-Complianceregeln | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf) |