Condividi tramite


Funzione KeInitializeCrashDumpHeader (ntddk.h)

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

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 di dump. L'unico valore valido è DUMP_TYPE_FULL.

[in] Flags

Specifica i flag per il file di 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 Buffer.

[out, optional] BufferNeeded

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

Valore restituito

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

Osservazioni

I driver possono usare questa routine per creare manualmente un file di dump di arresto anomalo del sistema. 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 del sistema, chiamare KeInitializeCrashDumpHeader per creare l'intestazione, quindi aggiungere il contenuto della memoria all'intestazione. Si noti che il driver non è necessario per registrare il contenuto della memoria immediatamente dopo la chiamata alla routine: l'intestazione può essere normalmente creata in qualsiasi momento prima della scrittura del file di dump di arresto anomalo del sistema.

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

  • La routine non registra alcuna informazione sui record di eccezione 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 del dump di arresto anomalo del sistema, indipendentemente dal contesto del processo da cui viene chiamato KeInitializeCrashDumpHeader. Il debugger può usare questa directory per accedere al file di dump di arresto anomalo del sistema 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 del sistema. 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 del sistema 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 di 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
    );

Fabbisogno

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