Поделиться через


Функция 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 Любой уровень

См. также

IoAllocateErrorLogEntry

IoWriteErrorLogEntry

KeBugCheck

KeRegisterBugCheckCallback

KeRegisterBugCheckReasonCallback