Função KeInitializeCrashDumpHeader (ntddk.h)
A rotina KeInitializeCrashDumpHeader fornece as informações de cabeçalho necessárias pelo sistema para um arquivo de despejo de memória.
Sintaxe
NTSTATUS KeInitializeCrashDumpHeader(
[in] ULONG DumpType,
[in] ULONG Flags,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG BufferNeeded
);
Parâmetros
[in] DumpType
Especifica o tipo de arquivo de despejo. O único valor válido é DUMP_TYPE_FULL.
[in] Flags
Especifica sinalizadores para o arquivo de despejo. O único valor válido é 0.
[out] Buffer
Ponteiro para o buffer que recebe as informações de cabeçalho.
[in] BufferSize
Especifica o tamanho em bytes do buffer apontado por Buffer.
[out, optional] BufferNeeded
Opcionalmente, um ponteiro para uma variável que recebe o tamanho necessário para manter as informações completas do cabeçalho.
Retornar valor
KeInitializeCrashDumpHeader retorna STATUS_SUCCESS com êxito ou o código de erro NTSTATUS apropriado em caso de falha.
Comentários
Os drivers podem usar essa rotina para criar manualmente um arquivo de despejo de memória. O arquivo pode ser criado a qualquer momento e usado por um depurador para examinar o estado do sistema.
Para criar um arquivo de despejo de memória, chame KeInitializeCrashDumpHeader para criar o cabeçalho e acrescente o conteúdo da memória ao cabeçalho. Observe que o driver não é necessário para registrar o conteúdo da memória imediatamente após chamar a rotina: o cabeçalho normalmente pode ser criado a qualquer momento antes que o arquivo de despejo de memória seja gravado.
Como a rotina foi projetada para ser chamada bem antes que o conteúdo da memória seja registrado, ela tem as seguintes limitações:
- A rotina não registra nenhuma informação sobre registros de exceção ativos.
- Se o tamanho da RAM do sistema for alterado, o cabeçalho deverá ser recriado.
Começando com Windows 8, KeInitializeCrashDumpHeader sempre grava o endereço base do diretório da página de processo do sistema no cabeçalho de despejo de falhas, independentemente do contexto de processo do qual KeInitializeCrashDumpHeader é chamado. O depurador pode usar esse diretório para acessar o arquivo de despejo de falhas no contexto do processo do sistema.
Em versões anteriores do Windows, KeInitializeCrashDumpHeader grava o endereço base do diretório de página do contexto de processo atual do chamador no cabeçalho de despejo de memória. Assim, KeInitializeCrashDumpHeader deve ser chamado do processo do sistema. Caso contrário, o depurador não poderá acessar o arquivo de despejo de falha no contexto de processo no qual o arquivo foi salvo.
Começando com Windows 8, KeInitializeCrashDumpHeader é declarado no arquivo de cabeçalho Wdm.h no WDK (Kit de Driver do Windows). Para usar essa rotina com versões anteriores do WDK, inclua a seguinte declaração de função no código do driver:
NTSTATUS
KeInitializeCrashDumpHeader(
__in ULONG DumpType,
__in ULONG Flags,
__out PVOID Buffer,
__in ULONG BufferSize,
__out_opt PULONG BufferNeeded
);
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows Server 2003 com o SP1. |
Plataforma de Destino | Universal |
Cabeçalho | ntddk.h (inclua Ntddk.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Qualquer nível |