Функция KeBugCheckEx (wdm.h)
Процедура KeBugCheckEx приводит к сбою системы в управляемом режиме, когда вызывающий обнаруживает неустранимую несогласованность, которая повредит систему, если вызывающий объект продолжал работать.
Синтаксис
void KeBugCheckEx(
[in] ULONG BugCheckCode,
[in] ULONG_PTR BugCheckParameter1,
[in] ULONG_PTR BugCheckParameter2,
[in] ULONG_PTR BugCheckParameter3,
[in] ULONG_PTR BugCheckParameter4
);
Параметры
[in] BugCheckCode
Указывает значение, указывающее причину проверки ошибки.
[in] BugCheckParameter1
[in] BugCheckParameter2
[in] BugCheckParameter3
[in] BugCheckParameter4
Четыре значения BugCheckParameterX предоставляют дополнительные сведения, такие как адрес и данные, в которых произошла ошибка повреждения памяти, в зависимости от значения BugCheckCode.
Возвращаемое значение
Никакой
Замечания
Проверка ошибок — это обнаруженная системой ошибка, которая приводит к немедленному завершению работы системы. Различные компоненты режима ядра выполняют проверку согласованности во время выполнения. Когда такой компонент обнаруживает неустранимую несогласованность, это приводит к возникновению ошибки.
По возможности все компоненты режима ядра должны регистрировать ошибку и продолжать выполняться, а не вызывать KeBugCheckEx. Например, если драйвер не может выделить необходимые ресурсы, он должен регистрировать ошибку, чтобы система продолжала работать; Он не должен генерировать проверку ошибок.
Драйвер или другой компонент режима ядра должен вызывать эту подпрограмму только в случаях неустранимой ошибки, которая может повредить саму систему.
KeBugCheckEx может оказаться полезным на ранних этапах разработки драйвера или во время прохождения тестирования. В этих случаях BugCheckCode, передаваемых этой подпрограмме, должны отличаться от этих кодов, которые уже используются в Windows или его драйверах. Список этих кодов см. в кодов проверки ошибок.
Однако даже во время разработки драйверов эта подпрограмма имеет только ограниченную служебную программу, так как она приводит к полному завершению работы системы. Более эффективный метод отладки заключается в подключении отладчика ядра к системе, а затем использовать подпрограммы, которые отправляют сообщения отладчику или разрываются в отладчик. Дополнительные сведения см. в разделе Начало работы с WinDbg (режим ядра).
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows 2000 и более поздних версиях Windows. |
целевая платформа | Всеобщий |
заголовка | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
библиотеки |
NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Любой уровень |