Função EngBugCheckEx (winddi.h)
A função EngBugCheckEx reduz o sistema de maneira controlada quando o chamador descobre um erro irrecuperável que corrompia o sistema se o chamador continuasse a ser executado.
Sintaxe
ENGAPI VOID EngBugCheckEx(
[in] ULONG BugCheckCode,
[in] ULONG_PTR P1,
[in] ULONG_PTR P2,
[in] ULONG_PTR P3,
[in] ULONG_PTR P4
);
Parâmetros
[in] BugCheckCode
Especifica um valor que indica o motivo do bug marcar.
[in] P1
Ponteiro para um valor que fornece informações adicionais, como o endereço e os dados em que ocorreu um erro de corrupção de memória. O valor depende do valor do parâmetro BugCheckCode .
[in] P2
Ponteiro para um valor que fornece informações adicionais, como o endereço e os dados em que ocorreu um erro de corrupção de memória. O valor depende do valor do parâmetro BugCheckCode .
[in] P3
Ponteiro para um valor que fornece informações adicionais, como o endereço e os dados em que ocorreu um erro de corrupção de memória. O valor depende do valor do parâmetro BugCheckCode .
[in] P4
Ponteiro para um valor que fornece informações adicionais, como o endereço e os dados em que ocorreu um erro de corrupção de memória. O valor depende do valor do parâmetro BugCheckCode .
Retornar valor
Nenhum
Comentários
Um bug marcar é um erro detectado pelo sistema que causa um desligamento imediato e controlado do sistema. Quando um driver gráfico descobre um erro irrecuperável, ele deve gerar um bug marcar.
Um driver gráfico deve chamar EngBugCheckEx somente no caso de um erro fatal e irrecuperável que possa corromper o sistema. Sempre que possível, todos os drivers gráficos devem registrar um erro e continuar a ser executados. 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 um bug marcar.
EngBugCheckEx pode ser útil nos estágios iniciais do desenvolvimento de um driver gráfico ou enquanto ele está passando por testes. Nessas circunstâncias, o valor BugCheckCode passado para essa função 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 é de uso limitado apenas, 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 Usando o código de depuração em um driver.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Essa função está disponível no Microsoft Windows Server 2003 e posterior. |
Plataforma de Destino | Universal |
Cabeçalho | winddi.h (inclua Winddi.h) |
Biblioteca | Win32k.lib |
DLL | Win32k.sys |