Compartilhar via


Função KeBugCheckEx (wdm.h)

A rotina de KeBugCheckEx do derruba o sistema de maneira controlada quando o chamador descobre uma inconsistência irrecuperável que corrompia o sistema se o chamador continuasse a ser executado.

Sintaxe

void KeBugCheckEx(
  [in] ULONG     BugCheckCode,
  [in] ULONG_PTR BugCheckParameter1,
  [in] ULONG_PTR BugCheckParameter2,
  [in] ULONG_PTR BugCheckParameter3,
  [in] ULONG_PTR BugCheckParameter4
);

Parâmetros

[in] BugCheckCode

Especifica um valor que indica o motivo da verificação de bugs.

[in] BugCheckParameter1

[in] BugCheckParameter2

[in] BugCheckParameter3

[in] BugCheckParameter4

Os quatro valores BugCheckParameterX fornecem informações adicionais, como o endereço e os dados em que ocorreu um erro de corrupção de memória, dependendo do valor de BugCheckCode.

Valor de retorno

Nenhum

Observações

Uma verificação de bug é um erro detectado pelo sistema que causa um desligamento imediato e controlado do sistema. Vários componentes do modo kernel executam a verificação de consistência em tempo de execução. Quando esse componente descobre uma inconsistência irrecuperável, ele faz com que uma verificação de bug seja gerada.

Sempre que possível, todos os componentes do modo kernel devem registrar um erro e continuar a ser executados, em vez de chamar KeBugCheckEx. Por exemplo, se um driver não puder alocar os recursos necessários, ele deverá registrar um erro para que o sistema continue a ser executado; ele não deve gerar uma verificação de bug.

Um driver ou outro componente do modo kernel deve chamar essa rotina apenas em casos de um erro fatal e irrecuperável que possa corromper o próprio sistema.

KeBugCheckEx podem ser úteis nos estágios iniciais do desenvolvimento de um driver ou enquanto ele estiver em teste. Nessas circunstâncias, o BugCheckCode passado para essa rotina deve ser distinto daqueles códigos já em uso pelo Windows ou por seus drivers. Para obter uma lista desses códigos, consulte códigos de verificação de bugs.

No entanto, mesmo durante o desenvolvimento do driver, essa rotina é apenas de utilitário limitado, pois resulta em um desligamento completo do sistema. Um método de depuração mais eficaz é anexar um depurador de kernel ao sistema e, em seguida, usar rotinas que enviam mensagens para o depurador ou invadem o depurador. Para obter mais informações, consulte Introdução ao WinDbg (modo kernel).

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível no Windows 2000 e versões posteriores do Windows.
da Plataforma de Destino Universal
cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL Qualquer nível

Consulte também

IoAllocateErrorLogEntry

IoWriteErrorLogEntry

KeBugCheck

KeRegisterBugCheckCallback

KeRegisterBugCheckReasonCallback