ExDeleteTimer-Funktion (wdm.h)
Die ExDeleteTimer-Routine löscht ein Timerobjekt, das zuvor von der ExAllocateTimer-Routine zugeordnet wurde.
Syntax
BOOLEAN ExDeleteTimer(
[in] PEX_TIMER Timer,
[in] BOOLEAN Cancel,
[in] BOOLEAN Wait,
[in] PEXT_DELETE_PARAMETERS Parameters
);
Parameter
[in] Timer
Ein Zeiger auf eine EX_TIMER-Struktur . Diese Struktur ist ein Timerobjekt, das zuvor von der ExAllocateTimer-Routine zugeordnet wurde.
[in] Cancel
Gibt an, ob der Timer abgebrochen werden soll, wenn er derzeit festgelegt ist. Bei TRUE bricht die Routine den Timer ab, wenn der Timer festgelegt ist. Bei FALSE bricht die Routine den Timer nicht ab, wenn er festgelegt ist. Wenn der Aufrufer Wait auf TRUE festlegt, muss Cancel ebenfalls TRUE sein. Andernfalls wird eine Fehlerüberprüfung durchgeführt.
[in] Wait
Gibt an, ob auf den Ablauf des Timers gewartet werden soll, wenn der Timer den Ablaufvorgang bereits gestartet hat. Bei TRUE wartet die Routine, bis der Timer abläuft. Wenn FALSE, wartet die Routine nicht. Weitere Informationen finden Sie in den Hinweisen.
[in] Parameters
Ein Zeiger auf eine EXT_DELETE_PARAMETERS-Struktur . Der aufrufende Treiber hat zuvor die Routine ExInitializeDeleteTimerParameters aufgerufen, um diese Struktur zu initialisieren.
Rückgabewert
Diese Routine gibt TRUE zurück, wenn CancelTRUE ist und der Timer abgebrochen wurde. Andernfalls gibt die Routine FALSE zurück. Weitere Informationen finden Sie in den Hinweisen.
Hinweise
Nachdem Ihr Treiber diese Routine aufgerufen hat, ist das Timerobjekt , auf das der Timer verweist, möglicherweise nicht mehr gültig. Der Timer-Parameterwert, der an eine ExTimerCallback-Rückrufroutine übergeben wird, ist jedoch immer ein gültiger Zeiger auf ein Timerobjekt, wenn der Treiber diese Routine implementiert.
Wenn CancelTRUE ist, gibt der Rückgabewert FALSE an, dass der Timer nie festgelegt wurde oder dass der Timer festgelegt wurde, aber abgelaufen ist, bevor er abgebrochen werden konnte. Wenn Cancelauf FALSE festgelegt ist, gibt die Routine immer FALSE zurück.
Diese Routine kann blockieren, wenn Waitden Wert TRUE aufweist. Wenn ExDeleteTimer aus der ExTimerCallback-Routine des Treibers aufgerufen wird, die bei DISPATCH_LEVEL aufgerufen wird, muss der Wait-Parameter in diesem Aufruf FALSE sein.
Wenn Waitden Wert TRUE aufweist, muss die Routine unter IRQL <= APC_LEVEL aufgerufen werden. Wenn Waitauf FALSE festgelegt ist, kann die Routine unter IRQL <= DISPATCH_LEVEL aufgerufen werden.
Weitere Informationen finden Sie unter Löschen eines System-Allocated Timer-Objekts.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 8.1. |
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | Ntoskrnl.lib |
IRQL | Siehe Hinweise. |