Функция 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.

Возвращаемое значение

None

Remarks

Ошибка проверка — это обнаруженная системой ошибка, которая вызывает немедленное контролируемое завершение работы системы. Различные компоненты режима ядра выполняют проверку согласованности во время выполнения. Когда такой компонент обнаруживает неустранимую несогласованность, возникает ошибка проверка.

По возможности все компоненты режима ядра должны регистрировать ошибку и продолжать выполняться, а не вызывать KeBugCheckEx. Например, если драйвер не может выделить необходимые ресурсы, он должен регистрировать ошибку, чтобы система продолжала работать; он не должен создавать проверка ошибок.

Драйвер или другой компонент режима ядра должен вызывать эту подпрограмму только в случаях неустранимой ошибки, которая может повредить саму систему.

KeBugCheckEx может быть полезен на ранних этапах разработки драйвера или во время его тестирования. В таких случаях BugCheckCode , передаваемый в эту подпрограмму, должен отличаться от кодов, уже используемых Windows или ее драйверами. Список этих кодов см. в разделе Коды проверки ошибок.

Однако даже во время разработки драйвера эта подпрограмма имеет ограниченную служебную программу, так как она приводит к полному завершению работы системы. Более эффективным методом отладки является присоединение отладчика ядра к системе, а затем использование подпрограмм, которые отправляют сообщения в отладчик или прерывают его. Дополнительные сведения см. в статье Использование кода отладки в драйвере.

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows 2000 и более поздних версиях Windows.
Целевая платформа Универсальное
Верхняя часть wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Любой уровень

См. также раздел

IoAllocateErrorLogEntry

IoWriteErrorLogEntry

KeBugCheck

KeRegisterBugCheckCallback

KeRegisterBugCheckReasonCallback