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.
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 |