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