Condividi tramite


Funzione KeBugCheckEx (wdm.h)

La routine KeBugCheckEx riduce il sistema in modo controllato quando il chiamante individua una incoerenza irreversibile che danneggia il sistema se il chiamante continua a funzionare.

Sintassi

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

Parametri

[in] BugCheckCode

Specifica un valore che indica il motivo del controllo dei bug.

[in] BugCheckParameter1

[in] BugCheckParameter2

[in] BugCheckParameter3

[in] BugCheckParameter4

I quattro valori BugCheckParameterX forniscono informazioni aggiuntive, ad esempio l'indirizzo e i dati in cui si è verificato un errore di danneggiamento della memoria, a seconda del valore di BugCheckCode.

Valore restituito

Nessuno

Osservazioni

Un controllo di bug è un errore rilevato dal sistema che causa un arresto immediato e controllato del sistema. Vari componenti in modalità kernel eseguono il controllo della coerenza in fase di esecuzione. Quando un componente di questo tipo rileva un'incoerenza irreversibile, causa la generazione di un controllo di bug.

Quando possibile, tutti i componenti in modalità kernel devono registrare un errore e continuare l'esecuzione, anziché chiamare KeBugCheckEx. Ad esempio, se un driver non è in grado di allocare le risorse necessarie, dovrebbe registrare un errore in modo che il sistema continui a essere eseguito; non deve generare un controllo dei bug.

Un driver o un altro componente in modalità kernel deve chiamare questa routine solo in caso di errore irreversibile e irreversibile che potrebbe danneggiare il sistema stesso.

KeBugCheckEx può essere utile nelle prime fasi di sviluppo di un driver o durante il test. In queste circostanze, il BugCheckCode passato a questa routine deve essere distinto da quelli già in uso da Windows o dai relativi driver. Per un elenco di questi codici, vedere codici di controllo dei bug.

Tuttavia, anche durante lo sviluppo dei driver, questa routine è di solo utilità limitata, poiché comporta un arresto completo del sistema. Un metodo di debug più efficace consiste nel collegare un debugger del kernel al sistema e quindi usare routine che inviano messaggi al debugger o si interrompono nel debugger. Per altre informazioni, vedere Introduzione a WinDbg (modalità kernel).

Fabbisogno

Requisito Valore
client minimo supportato Disponibile in Windows 2000 e versioni successive di Windows.
piattaforma di destinazione Universale
intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
libreria NtosKrnl.lib
dll NtosKrnl.exe
IRQL Qualsiasi livello

Vedere anche

IoAllocateErrorLogEntry

IoWriteErrorLogEntry

KeBugCheck

KeRegisterBugCheckCallback

KeRegisterBugCheckReasonCallback