KeInitializeTimerEx-Funktion (wdm.h)
Die KeInitializeTimerEx-Routine initialisiert ein erweitertes Kerneltimerobjekt.
Syntax
void KeInitializeTimerEx(
[out] PKTIMER Timer,
[in] TIMER_TYPE Type
);
Parameter
[out] Timer
Zeiger auf ein Zeitgeberobjekt, für das der Aufrufer den Speicher bereitstellt.
[in] Type
Gibt den Typ des Timerobjekts an, entweder NotificationTimer oder SynchronizationTimer.
Rückgabewert
Keine
Bemerkungen
Das Timerobjekt wird in einen nicht signalisierten Zustand initialisiert.
Der Speicher für ein Zeitgeberobjekt muss sich in der Geräteerweiterung eines vom Treiber erstellten Geräteobjekts, in der Controllererweiterung eines vom Treiber erstellten Controllerobjekts oder in einem nicht ausgelagerten Pool befinden, der vom Aufrufer zugewiesen wird.
Wenn ein Benachrichtigungszeitgeber abläuft, werden alle wartenden Threads freigegeben, und der Timer bleibt im signalierten Zustand, bis er explizit zurückgesetzt wird. Wenn ein Synchronisierungszeitgeber abläuft, wird er auf einen signalierten Zustand festgelegt, bis ein einzelner wartenden Thread freigegeben wird und dann der Timer auf einen nicht signalierten Zustand zurückgesetzt wird.
Aufrufer von KeInitializeTimerEx sollten unter IRQL = DISPATCH_LEVEL oder niedriger ausgeführt werden. Es ist am besten, Timer bei IRQL = PASSIVE_LEVEL zu initialisieren.
Weitere Informationen zu Timerobjekten finden Sie unter Timer-Objekte und DPCs.
Verwenden Sie KeSetTimer oder KeSetTimerEx , um zu definieren, wann der Timer abläuft.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 2000. |
Zielplattform | Universell |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL (siehe Abschnitt Hinweise) |
DDI-Complianceregeln | HwStorPortProhibitedDDIs(storport), IrqlKeDispatchLte(wdm) |