Compartilhar via


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