Функция ExGetPreviousMode (wdm.h)
Подпрограмма ExGetPreviousMode возвращает предыдущий режим процессора для текущего потока.
Синтаксис
KPROCESSOR_MODE ExGetPreviousMode();
Возвращаемое значение
ExGetPreviousMode возвращает KPROCESSOR_MODE значение KernelMode или UserMode. Это значение указывает предыдущий режим процессора для текущего потока.
Комментарии
Если запрос ввода-вывода может поступать либо в пользовательском режиме, либо в режиме ядра, а вызывающий объект передает указатели на структуры данных, используемые для ввода-вывода, драйвер должен иметь возможность определить, допустимы ли указатели вызывающего объекта в пользовательском режиме или режиме ядра.
Если драйверы обрабатывают запросы ввода-вывода с помощью обычного метода диспетчеризации ввода-вывода на основе IRP, они могут определить предыдущий режим процессора, проверив параметр RequestorMode в заголовке IRP. (Параметр RequestorMode задается диспетчером ввода-вывода.)
Кроме того, можно использовать ExGetPreviousMode для определения предыдущего режима процессора. Эта подпрограмма особенно полезна в ситуациях, когда параметр предыдущего режима недоступен, например в драйвере файлов, использующего быстрый ввод-вывод.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 2000. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= DISPATCH_LEVEL |