Funzione KeBugCheckEx (wdm.h)

La routine KeBugCheckEx riduce il sistema in modo controllato quando il chiamante individua una incoerenza non recuperabile che potrebbe danneggiare il sistema se il chiamante ha continuato a eseguire.

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 del 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 individua una inconsistenza non recuperabile, causa la generazione di un controllo di bug.

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

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

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

Tuttavia, anche durante lo sviluppo del 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 Uso del codice di debug in un driver.

Requisiti

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

Vedi anche

IoAllocateErrorLogEntry

IoWriteErrorLogEntry

KeBugCheck

KeRegisterBugCheckCallback

KeRegisterBugCheckReasonCallback