Freigeben über


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

Siehe auch

KeGetCurrentThread-