Funzione EngBugCheckEx (winddi.h)
La funzione EngBugCheckEx arresta il sistema in modo controllato quando il chiamante individua un errore irreversibile che danneggia il sistema se il chiamante continua a essere eseguito.
Sintassi
ENGAPI VOID EngBugCheckEx(
[in] ULONG BugCheckCode,
[in] ULONG_PTR P1,
[in] ULONG_PTR P2,
[in] ULONG_PTR P3,
[in] ULONG_PTR P4
);
Parametri
[in] BugCheckCode
Specifica un valore che indica il motivo del controllo dei bug.
[in] P1
Puntatore a un valore che fornisce informazioni aggiuntive, ad esempio l'indirizzo e i dati in cui si è verificato un errore di danneggiamento della memoria. Il valore dipende dal valore del parametro BugCheckCode .
[in] P2
Puntatore a un valore che fornisce informazioni aggiuntive, ad esempio l'indirizzo e i dati in cui si è verificato un errore di danneggiamento della memoria. Il valore dipende dal valore del parametro BugCheckCode .
[in] P3
Puntatore a un valore che fornisce informazioni aggiuntive, ad esempio l'indirizzo e i dati in cui si è verificato un errore di danneggiamento della memoria. Il valore dipende dal valore del parametro BugCheckCode .
[in] P4
Puntatore a un valore che fornisce informazioni aggiuntive, ad esempio l'indirizzo e i dati in cui si è verificato un errore di danneggiamento della memoria. Il valore dipende dal valore del parametro BugCheckCode .
Valore restituito
nessuno
Osservazioni
Un controllo di bug è un errore rilevato dal sistema che causa un arresto immediato e controllato del sistema. Quando un driver di grafica rileva un errore irreversibile, deve generare un controllo di bug.
Un driver di grafica deve chiamare EngBugCheckEx solo in caso di errore irreversibile e irreversibile che potrebbe danneggiare il sistema. Quando possibile, tutti i driver grafici devono registrare un errore e continuare a essere eseguiti. 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 di bug.
EngBugCheckEx può essere utile nelle prime fasi dello sviluppo di un driver grafico o durante il test. In queste circostanze, il valore BugCheckCode passato a questa funzione deve essere diverso 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 del driver, questa routine è di uso limitato, perché 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 | Questa funzione è disponibile in Microsoft Windows Server 2003 e versioni successive. |
Piattaforma di destinazione | Universale |
Intestazione | winddi.h (include Winddi.h) |
Libreria | Win32k.lib |
DLL | Win32k.sys |