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 Timerobjekt, für das der Aufrufer den Speicher bereitstellt.
[in] Type
Gibt den Typ des Timerobjekts an, entweder NotificationTimer- oder SynchronizationTimer-.
Rückgabewert
Nichts
Bemerkungen
Das Timerobjekt wird in einen nicht signalisierten Zustand initialisiert.
Der Speicher für ein Timerobjekt muss sich befinden: in der Geräteerweiterung eines vom Treiber erstellten Geräteobjekts, in der Controllererweiterung eines vom Treiber erstellten Controllerobjekts oder im vom Aufrufer zugewiesenen nicht ausgelagerten Pool.
Wenn ein Benachrichtigungszeitgeber abläuft, werden alle wartenden Threads freigegeben, und der Timer verbleibt im signalierten Zustand, bis er explizit zurückgesetzt wird. Wenn ein Synchronisierungszeitgeber abläuft, wird er auf einen signalisierten Zustand festgelegt, bis ein einzelner Wartethread losgelassen wird und der Timer auf einen nicht signalisierten Zustand zurückgesetzt wird.
Aufrufer von KeInitializeTimerEx- sollten unter IRQL = DISPATCH_LEVEL oder niedriger ausgeführt werden. Es empfiehlt sich, Timer bei IRQL = PASSIVE_LEVEL zu initialisieren.
Weitere Informationen zu Timerobjekten finden Sie unter timer Objects and DPCs.
Verwenden Sie KeSetTimer- oder KeSetTimerEx-, um zu definieren, wann der Timer abläuft.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Ab Windows 2000 verfügbar. |
Zielplattform- | Universal |
Header- | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | <= DISPATCH_LEVEL (siehe Abschnitt "Hinweise") |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), IrqlKeDispatchLte(wdm) |