Поделиться через


Функция KeInitializeCrashDumpHeader (wdm.h)

Подпрограмма KeInitializeCrashDumpHeader предоставляет сведения о заголовке, необходимые системе для файла аварийного дампа.

Синтаксис

NTSTATUS KeInitializeCrashDumpHeader(
  [in]            ULONG  DumpType,
  [in]            ULONG  Flags,
  [out]           PVOID  Buffer,
  [in]            ULONG  BufferSize,
  [out, optional] PULONG BufferNeeded
);

Параметры

[in] DumpType

Указывает тип файла дампа. Единственное допустимое значение — DUMP_TYPE_FULL.

[in] Flags

Задает флаги для файла дампа. Единственное допустимое значение равно 0.

[out] Buffer

Указатель на буфер, получающий сведения о заголовке.

[in] BufferSize

Задает размер в байтах буфера, на который указывает буфер.

[out, optional] BufferNeeded

При необходимости указатель на переменную, которая получает размер, необходимый для хранения полных сведений о заголовке.

Возвращаемое значение

KeInitializeCrashDumpHeader возвращает STATUS_SUCCESS при успешном выполнении или соответствующий код ошибки NTSTATUS при сбое.

Замечания

Драйверы могут использовать эту подпрограмму для создания файла аварийного дампа вручную. Файл можно создать в любое время и использовать отладчиком для проверки состояния системы.

Чтобы создать файл аварийного дампа, вызовите KeInitializeCrashDumpHeader для создания заголовка, а затем добавьте содержимое памяти в заголовок. Обратите внимание, что драйвер не требует записи содержимого памяти сразу после вызова подпрограммы: заголовок может быть создан в любое время перед записью файла аварийного дампа.

Так как подпрограмма предназначена для вызова до записи содержимого памяти, она имеет следующие ограничения:

  • Подпрограмма не записывает никаких сведений о активных записях исключений.
  • Если размер системного ОЗУ изменяется, заголовок должен быть повторно создан.
Подпрограмма не записывает никакие вторичные данные дампа.

Начиная с Windows 8, KeInitializeCrashDumpHeader всегда записывает базовый адрес каталога страницы системного процесса в заголовок аварийного дампа независимо от контекста процесса, из которого вызывается KeInitializeCrashDumpHeader. Отладчик может использовать этот каталог для доступа к файлу аварийного дампа в контексте системного процесса.

В более ранних версиях Windows KeInitializeCrashDumpHeader записывает базовый адрес каталога страниц текущего контекста процесса вызывающего объекта в заголовок аварийного дампа. Таким образом, KeInitializeCrashDumpHeader необходимо вызвать из системного процесса. В противном случае отладчик не сможет получить доступ к файлу аварийного дампа в контексте процесса, в котором был сохранен файл.

Начиная с Windows 8, KeInitializeCrashDumpHeader объявлен в файле заголовка Wdm.h в комплекте драйверов Windows (WDK). Чтобы использовать эту подпрограмму с более ранними версиями WDK, добавьте следующее объявление функции в код драйвера:

NTSTATUS
  KeInitializeCrashDumpHeader(
    __in ULONG  DumpType,
    __in ULONG  Flags,
    __out PVOID  Buffer,
    __in ULONG  BufferSize,
    __out_opt PULONG  BufferNeeded
    );

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно начиная с Windows Server 2003 с пакетом обновления 1 (SP1).
целевая платформа Всеобщий
заголовка wdm.h (include Ntddk.h)
библиотеки NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Любой уровень