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) |