Partager via


KeBugCheckEx, fonction (wdm.h)

La routine KeBugCheckEx entraîne l’arrêt du système de manière contrôlée lorsque l’appelant découvre une incohérence irrécupérable qui endommagerait le système si l’appelant continuait à s’exécuter.

Syntaxe

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

Paramètres

[in] BugCheckCode

Spécifie une valeur qui indique la raison de la vérification des bogues.

[in] BugCheckParameter1

[in] BugCheckParameter2

[in] BugCheckParameter3

[in] BugCheckParameter4

Les quatre valeurs BugCheckParameterX fournissent des informations supplémentaires, telles que l’adresse et les données où une erreur d’altération de la mémoire s’est produite, en fonction de la valeur de BugCheckCode.

Valeur de retour

Aucun

Remarques

Une vérification des bogues est une erreur détectée par le système qui provoque un arrêt immédiat et contrôlé du système. Différents composants en mode noyau effectuent une vérification de cohérence au moment de l’exécution. Lorsqu’un tel composant découvre une incohérence irrécupérable, il provoque la génération d’une vérification des bogues.

Dans la mesure du possible, tous les composants en mode noyau doivent consigner une erreur et continuer à s’exécuter, plutôt que d’appeler KeBugCheckEx. Par exemple, si un pilote ne parvient pas à allouer les ressources requises, il doit consigner une erreur afin que le système continue à s’exécuter ; elle ne doit pas générer de vérification de bogue.

Un pilote ou un autre composant en mode noyau doit appeler cette routine uniquement en cas d’erreur irrécupérable irrécupérable qui pourrait endommager le système lui-même.

KeBugCheckEx peut être utile dans les premières étapes du développement d’un pilote, ou pendant qu’il fait l’objet d’un test. Dans ces circonstances, la BugCheckCode passée à cette routine doit être distincte de ces codes déjà utilisés par Windows ou ses pilotes. Pour obtenir la liste de ces codes, consultez codes de vérification des bogues.

Toutefois, même au cours du développement du pilote, cette routine n’est qu’un utilitaire limité, car elle entraîne un arrêt complet du système. Une méthode de débogage plus efficace consiste à attacher un débogueur de noyau au système, puis à utiliser des routines qui envoient des messages au débogueur ou se décomposent dans le débogueur. Pour plus d’informations, consultez Prise en main de WinDbg (mode noyau).

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows 2000 et versions ultérieures de Windows.
plateforme cible Universel
d’en-tête wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL N’importe quel niveau

Voir aussi

IoAllocateErrorLogEntry

IoWriteErrorLogEntry

KeBugCheck

KeRegisterBugCheckCallback

KeRegisterBugCheckReasonCallback