Condividi tramite


Funzione KeInitializeCrashDumpHeader (ntddk.h)

La routine KeInitializeCrashDumpHeader fornisce le informazioni sull'intestazione richieste dal sistema per un file di dump di arresto anomalo.

Sintassi

NTSTATUS KeInitializeCrashDumpHeader(
  [in]            ULONG  DumpType,
  [in]            ULONG  Flags,
  [out]           PVOID  Buffer,
  [in]            ULONG  BufferSize,
  [out, optional] PULONG BufferNeeded
);

Parametri

[in] DumpType

Specifica il tipo di file dump. L'unico valore valido è DUMP_TYPE_FULL.

[in] Flags

Specifica i flag per il file dump. L'unico valore valido è 0.

[out] Buffer

Puntatore al buffer che riceve le informazioni sull'intestazione.

[in] BufferSize

Specifica le dimensioni in byte del buffer a cui punta il buffer.

[out, optional] BufferNeeded

Facoltativamente, un puntatore a una variabile che riceve le dimensioni necessarie per contenere le informazioni di intestazione complete.

Valore restituito

KeInitializeCrashDumpHeader restituisce STATUS_SUCCESS in caso di esito positivo o il codice di errore NTSTATUS appropriato in caso di errore.

Commenti

I driver possono usare questa routine per creare manualmente un file di dump di arresto anomalo. Il file può essere creato in qualsiasi momento e usato da un debugger per esaminare lo stato del sistema.

Per creare un file di dump di arresto anomalo, chiamare KeInitializeCrashDumpHeader per creare l'intestazione, quindi aggiungere il contenuto della memoria all'intestazione. Si noti che il driver non è necessario registrare il contenuto della memoria immediatamente dopo aver chiamato la routine: l'intestazione può essere normalmente creata in qualsiasi momento prima della scrittura del file di dump di arresto anomalo.

Poiché la routine è progettata per essere chiamata bene prima che il contenuto della memoria venga registrato, presenta le limitazioni seguenti:

  • La routine non registra informazioni sui record di eccezioni attivi.
  • Se le dimensioni della RAM di sistema cambiano, l'intestazione deve essere ricreata.
La routine non registra dati di dump secondari.

A partire da Windows 8, KeInitializeCrashDumpHeader scrive sempre l'indirizzo di base della directory della pagina del processo di sistema nell'intestazione di dump di arresto anomalo, indipendentemente dal contesto di processo da cui viene chiamato KeInitializeCrashDumpHeader. Il debugger può usare questa directory per accedere al file di dump di arresto anomalo nel contesto del processo di sistema.

Nelle versioni precedenti di Windows , KeInitializeCrashDumpHeader scrive l'indirizzo di base della directory di pagina del contesto di processo corrente del chiamante nell'intestazione di dump di arresto anomalo. Pertanto, KeInitializeCrashDumpHeader deve essere chiamato dal processo di sistema. In caso contrario, il debugger non sarà in grado di accedere al file di dump di arresto anomalo nel contesto del processo in cui è stato salvato il file.

A partire da Windows 8, KeInitializeCrashDumpHeader viene dichiarato nel file di intestazione Wdm.h in Windows Driver Kit (WDK). Per usare questa routine con le versioni precedenti del WDK, includere la dichiarazione di funzione seguente nel codice del driver:

NTSTATUS
  KeInitializeCrashDumpHeader(
    __in ULONG  DumpType,
    __in ULONG  Flags,
    __out PVOID  Buffer,
    __in ULONG  BufferSize,
    __out_opt PULONG  BufferNeeded
    );

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows Server 2003 con SP1.
Piattaforma di destinazione Universale
Intestazione ntddk.h (include Ntddk.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Qualsiasi livello