Freigeben über


KeReadStateEvent-Funktion (wdm.h)

Die KeReadStateEvent Routine gibt den aktuellen Zustand, signalisiert oder nicht signalisiert, eines Ereignisobjekts zurück.

Syntax

LONG KeReadStateEvent(
  [in] PRKEVENT Event
);

Parameter

[in] Event

Ein Zeiger auf ein initialisiertes Ereignisobjekt, für das der Aufrufer den Speicher bereitstellt.

Rückgabewert

Wenn das Ereignisobjekt derzeit auf einen signalisierten Zustand festgelegt ist, wird ein Wert ungleich Null zurückgegeben. Andernfalls wird Null zurückgegeben.

Bemerkungen

Diese Routine bietet eine effiziente Möglichkeit, den Signalzustand eines Ereignisses abzufragen. KeReadStateEvent liest den Status des Ereignisses, ohne den Zugriff auf das Ereignis zu synchronisieren. Gehen Sie nicht davon aus, dass der Zugriff auf einen Ereignisstatus durch KeReadStateEvent sich gegenseitig von Zugriffen durch Routinen ausschließen, z. B. KeSetEvent und KeWaitForSingleObject, die ihren Zugriff auf den Ereigniszustand synchronisieren.

Es ist auch möglich, den Status eines Ereignisses aus der Interrupt-Dienstroutine eines Treibers bei DIRQL zu lesen, wenn die folgenden Bedingungen erfüllt sind: das Ereignisobjekt des Treibers befindet sich (wahrscheinlich in seiner Geräteerweiterung), und jede andere Funktion, die auf das Ereignis zugreift, synchronisiert seinen Zugriff mit dem ISR.

Weitere Informationen zu Ereignisobjekten finden Sie unter Event Objects.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Ab Windows 2000 verfügbar.
Zielplattform- Universal
Header- wdm.h (include Ntddk.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- <= DISPATCH_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport), IrqlKeDispatchLte(wdm)

Siehe auch

KeClearEvent

KeInitializeEvent-

KeResetEvent

KeSetEvent

KeWaitForSingleObject