ExGetPreviousMode-Funktion (wdm.h)
Die ExGetPreviousMode Routine gibt den vorherigen Prozessormodus für den aktuellen Thread zurück.
Syntax
KPROCESSOR_MODE ExGetPreviousMode();
Rückgabewert
ExGetPreviousMode gibt einen KPROCESSOR_MODE Wert, einen KernelMode oder UserModezurück. Dieser Wert gibt den vorherigen Prozessormodus für den aktuellen Thread an.
Bemerkungen
Wenn eine E/A-Anforderung entweder im Benutzermodus oder kernelmodus stammen kann und der Aufrufer Zeiger an Datenstrukturen übergibt, die für E/A verwendet werden, muss der Treiber in der Lage sein zu bestimmen, ob die Zeiger des Anrufers im Benutzermodus oder im Kernelmodus gültig sind.
Wenn Treiber E/A-Anforderungen mithilfe der normalen IRP-basierten E/A-Verteilermethode verarbeiten, können sie den vorherigen Prozessormodus ermitteln, indem sie den RequestorMode Parameter im IRP-Header überprüfen. (Der parameter RequestorMode wird vom E/A-Manager festgelegt.)
Alternativ können ExGetPreviousMode- verwendet werden, um den vorherigen Prozessormodus zu bestimmen. Diese Routine ist besonders nützlich in Situationen, in denen ein vorheriger Modusparameter nicht verfügbar ist, z. B. in einem Dateitreiber, der schnelle E/A verwendet.
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 |