Función KeInitializeCrashDumpHeader (wdm.h)
La rutina KeInitializeCrashDumpHeader proporciona la información de encabezado que el sistema requiere para un archivo de volcado de memoria.
Sintaxis
NTSTATUS KeInitializeCrashDumpHeader(
[in] ULONG DumpType,
[in] ULONG Flags,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG BufferNeeded
);
Parámetros
[in] DumpType
Especifica el tipo de archivo de volcado de memoria. El único valor válido es DUMP_TYPE_FULL.
[in] Flags
Especifica marcas para el archivo de volcado de memoria. El único valor válido es 0.
[out] Buffer
Puntero al búfer que recibe la información de encabezado.
[in] BufferSize
Especifica el tamaño en bytes del búfer al que apunta el búfer.
[out, optional] BufferNeeded
Opcionalmente, un puntero a una variable que recibe el tamaño necesario para contener la información de encabezado completa.
Valor devuelto
KeInitializeCrashDumpHeader devuelve STATUS_SUCCESS correctamente o el código de error NTSTATUS adecuado en caso de error.
Comentarios
Los controladores pueden usar esta rutina para crear manualmente un archivo de volcado de memoria. Un depurador puede crear el archivo en cualquier momento y usarlo para examinar el estado del sistema.
Para crear un archivo de volcado de memoria, llame a KeInitializeCrashDumpHeader para crear el encabezado y, a continuación, anexe el contenido de la memoria al encabezado. Tenga en cuenta que el controlador no es necesario para registrar el contenido de la memoria inmediatamente después de llamar a la rutina: el encabezado normalmente se puede crear en cualquier momento antes de que se escriba el archivo de volcado de memoria.
Dado que la rutina está diseñada para llamarse bien antes de que se registre el contenido de la memoria, tiene las siguientes limitaciones:
- La rutina no registra ninguna información sobre los registros de excepciones activos.
- Si cambia el tamaño de la RAM del sistema, se debe volver a crear el encabezado.
A partir de Windows 8, KeInitializeCrashDumpHeader siempre escribe la dirección base del directorio de página del proceso del sistema en el encabezado de volcado de memoria, independientemente del contexto de proceso desde el que se llama a KeInitializeCrashDumpHeader. El depurador puede usar este directorio para acceder al archivo de volcado de memoria en el contexto del proceso del sistema.
En versiones anteriores de Windows, KeInitializeCrashDumpHeader escribe la dirección base del directorio de páginas del contexto de proceso actual del autor de la llamada en el encabezado de volcado de memoria. Por lo tanto, se debe llamar a KeInitializeCrashDumpHeader desde el proceso del sistema. De lo contrario, el depurador no podrá acceder al archivo de volcado de memoria en el contexto del proceso en el que se guardó el archivo.
A partir de Windows 8, KeInitializeCrashDumpHeader se declara en el archivo de encabezado Wdm.h en el Kit de controladores de Windows (WDK). Para usar esta rutina con versiones anteriores de WDK, incluya la siguiente declaración de función en el código del controlador:
NTSTATUS
KeInitializeCrashDumpHeader(
__in ULONG DumpType,
__in ULONG Flags,
__out PVOID Buffer,
__in ULONG BufferSize,
__out_opt PULONG BufferNeeded
);
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows Server 2003 con SP1. |
Plataforma de destino | Universal |
Encabezado | wdm.h (incluya Ntddk.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | Cualquier nivel |