Функция 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 (включая Ntddk.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Любой уровень