Freigeben über


KeReadStateEvent-Funktion (wdm.h)

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

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 signalierten Zustand festgelegt ist, wird ein nonzero-Wert zurückgegeben. Andernfalls wird Null zurückgegeben.

Hinweise

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 Zugriffe auf einen Ereigniszustand durch KeReadStateEvent sich gegenseitig ausschließen von Zugriffen durch Routinen wie KeSetEvent und KeWaitForSingleObject, die ihren Zugriff auf den Ereigniszustand synchronisieren.

Es ist auch möglich, den Zustand eines Ereignisses aus der Interruptdienstroutine eines Treibers bei DIRQL zu lesen, wenn die folgenden Bedingungen erfüllt sind: Das Ereignisobjekt des Treibers ist resident (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 Ereignisobjekte.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar ab Windows 2000.
Zielplattform Universell
Header wdm.h (include Ntddk.h)
Bibliothek NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDDIs(storport), IrqlKeDispatchLte(wdm)

Weitere Informationen

KeClearEvent

KeInitializeEvent

KeResetEvent

KeSetEvent

KeWaitForSingleObject