KeInitializeCrashDumpHeader, fonction (wdm.h)
La routine KeInitializeCrashDumpHeader fournit les informations d’en-tête requises par le système pour un fichier de vidage sur incident.
Syntaxe
NTSTATUS KeInitializeCrashDumpHeader(
[in] ULONG DumpType,
[in] ULONG Flags,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG BufferNeeded
);
Paramètres
[in] DumpType
Spécifie le type de fichier de vidage. La seule valeur valide est DUMP_TYPE_FULL.
[in] Flags
Spécifie des indicateurs pour le fichier de vidage. La seule valeur valide est 0.
[out] Buffer
Pointeur vers la mémoire tampon qui reçoit les informations d’en-tête.
[in] BufferSize
Spécifie la taille en octets de la mémoire tampon pointée vers la mémoire tampon.
[out, optional] BufferNeeded
Si vous le souhaitez, pointeur vers une variable qui reçoit la taille nécessaire pour contenir les informations d’en-tête complètes.
Valeur retournée
KeInitializeCrashDumpHeader retourne STATUS_SUCCESS en cas de réussite ou le code d’erreur NTSTATUS approprié en cas d’échec.
Remarques
Les pilotes peuvent utiliser cette routine pour créer manuellement un fichier de vidage sur incident. Le fichier peut être créé à tout moment et utilisé par un débogueur pour examiner l’état du système.
Pour créer un fichier de vidage sur incident, appelez KeInitializeCrashDumpHeader pour créer l’en-tête, puis ajoutez le contenu de la mémoire à l’en-tête. Notez que le pilote n’est pas tenu d’enregistrer le contenu de la mémoire immédiatement après l’appel de la routine : l’en-tête peut normalement être créé à tout moment avant l’écriture du fichier de vidage sur incident.
Étant donné que la routine est conçue pour être appelée bien avant l’enregistrement du contenu de la mémoire, elle présente les limitations suivantes :
- La routine n’enregistre aucune information sur les enregistrements d’exception actifs.
- Si la taille de la RAM système change, l’en-tête doit être recréé.
À compter de Windows 8, KeInitializeCrashDumpHeader écrit toujours l’adresse de base du répertoire de la page de processus système dans l’en-tête crash-dump, quel que soit le contexte de processus à partir duquel KeInitializeCrashDumpHeader est appelé. Le débogueur peut utiliser ce répertoire pour accéder au fichier de vidage sur incident dans le contexte du processus système.
Dans les versions antérieures de Windows, KeInitializeCrashDumpHeader écrit l’adresse de base du répertoire de page du contexte de processus actuel de l’appelant dans l’en-tête crash-dump. Par conséquent, KeInitializeCrashDumpHeader doit être appelé à partir du processus système. Sinon, le débogueur ne pourra pas accéder au fichier de vidage sur incident dans le contexte de processus dans lequel le fichier a été enregistré.
À compter de Windows 8, KeInitializeCrashDumpHeader est déclaré dans le fichier d’en-tête Wdm.h du Kit de pilotes Windows (WDK). Pour utiliser cette routine avec les versions antérieures du WDK, incluez la déclaration de fonction suivante dans votre code de pilote :
NTSTATUS
KeInitializeCrashDumpHeader(
__in ULONG DumpType,
__in ULONG Flags,
__out PVOID Buffer,
__in ULONG BufferSize,
__out_opt PULONG BufferNeeded
);
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible à partir de Windows Server 2003 avec SP1. |
Plateforme cible | Universal |
En-tête | wdm.h (include Ntddk.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | N’importe quel niveau |