KeInitializeCrashDumpHeader-Funktion (wdm.h)
Die KeInitializeCrashDumpHeader Routine stellt die Kopfzeileninformationen bereit, die das System für eine Absturzabbilddatei benötigt.
Syntax
NTSTATUS KeInitializeCrashDumpHeader(
[in] ULONG DumpType,
[in] ULONG Flags,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG BufferNeeded
);
Parameter
[in] DumpType
Gibt den Typ der Speicherabbilddatei an. Der einzige gültige Wert ist DUMP_TYPE_FULL.
[in] Flags
Gibt Flags für die Dumpdatei an. Der einzige gültige Wert ist 0.
[out] Buffer
Zeigen Sie auf den Puffer, der die Headerinformationen empfängt.
[in] BufferSize
Gibt die Größe in Byte des Puffers an, auf den Bufferverweist.
[out, optional] BufferNeeded
Optional: Ein Zeiger auf eine Variable, die die erforderliche Größe empfängt, um die vollständigen Kopfzeileninformationen zu enthalten.
Rückgabewert
KeInitializeCrashDumpHeader- STATUS_SUCCESS bei Erfolg oder den entsprechenden NTSTATUS-Fehlercode beim Fehler zurück.
Bemerkungen
Treiber können diese Routine verwenden, um manuell eine Absturzabbilddatei zu erstellen. Die Datei kann jederzeit erstellt und von einem Debugger verwendet werden, um den Zustand des Systems zu untersuchen.
Rufen Sie zum Erstellen einer Absturzabbilddatei KeInitializeCrashDumpHeader- auf, um den Header zu erstellen, und fügen Sie dann den Inhalt des Arbeitsspeichers an den Header an. Beachten Sie, dass der Treiber nicht benötigt wird, um den Inhalt des Arbeitsspeichers unmittelbar nach dem Aufrufen der Routine aufzuzeichnen: Der Header kann normalerweise jederzeit erstellt werden, bevor die Absturzabbilddatei geschrieben wird.
Da die Routine so konzipiert ist, dass sie gut aufgerufen wird, bevor der Speicherinhalt aufgezeichnet wird, gelten die folgenden Einschränkungen:
- Die Routine zeichnet keine Informationen zu aktiven Ausnahmedatensätzen auf.
- Wenn sich die Größe des System-RAM ändert, muss der Header neu erstellt werden.
Ab Windows 8 schreibt KeInitializeCrashDumpHeader immer die Basisadresse des Systemprozessseitenverzeichnisses in den Absturzabbildheader, unabhängig vom Prozesskontext, aus dem KeInitializeCrashDumpHeader aufgerufen wird. Der Debugger kann dieses Verzeichnis verwenden, um im Kontext des Systemprozesses auf die Absturzabbilddatei zuzugreifen.
In früheren Versionen von Windows schreibt KeInitializeCrashDumpHeader die Basisadresse des Seitenverzeichnisses des aktuellen Prozesskontexts des Aufrufers in den Absturzabbildheader. Daher müssen KeInitializeCrashDumpHeader aus dem Systemprozess aufgerufen werden. Andernfalls kann der Debugger nicht auf die Absturzabbilddatei im Prozesskontext zugreifen, in dem die Datei gespeichert wurde.
Ab Windows 8 wird KeInitializeCrashDumpHeader- in der Wdm.h-Headerdatei im Windows Driver Kit (WDK) deklariert. Um diese Routine mit früheren Versionen von WDK zu verwenden, schließen Sie die folgende Funktionsdeklaration in Den Treibercode ein:
NTSTATUS
KeInitializeCrashDumpHeader(
__in ULONG DumpType,
__in ULONG Flags,
__out PVOID Buffer,
__in ULONG BufferSize,
__out_opt PULONG BufferNeeded
);
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar ab Windows Server 2003 mit SP1. |
Zielplattform- | Universal |
Header- | wdm.h (include Ntddk.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | Beliebige Ebene |