Freigeben über


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)

Siehe auch

EvtTimerFunc

WdfTimerCreate-

WdfTimerStart-