Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |