Freigeben über


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)

Siehe auch

KeCancelTimer-

KeReadStateTimer-

KeSetTimer-

KeSetTimerEx

KeWaitForMultipleObjects

KeWaitForSingleObject