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