Функция 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 | Любой уровень |