Функция KeBugCheck (ntddk.h)

Подпрограмма KeBugCheck приводит к отключению системы контролируемым образом, когда вызывающий обнаруживает неустранимую несогласованность, которая повредит систему, если вызывающий объект продолжает работать.

Синтаксис

void KeBugCheck(
  [in] ULONG BugCheckCode
);

Параметры

[in] BugCheckCode

Задает значение, указывающее причину проверка ошибки.

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

None

Remarks

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

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

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

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

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

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

Требования

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

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

IoAllocateErrorLogEntry

IoWriteErrorLogEntry

KeBugCheckEx

KeRegisterBugCheckCallback

KeRegisterBugCheckReasonCallback