Функция KeRegisterBugCheckReasonCallback (wdm.h)
Функция KeRegisterBugCheckReasonCallback регистрирует подпрограмму обратного вызова, которая выполняется, когда операционная система выдает ошибку проверка.
Синтаксис
BOOLEAN KeRegisterBugCheckReasonCallback(
[out] PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord,
[in] PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine,
[in] KBUGCHECK_CALLBACK_REASON Reason,
[in] PUCHAR Component
);
Параметры
[out] CallbackRecord
Указатель на структуру KBUGCHECK_REASON_CALLBACK_RECORD , инициализированную вызовом подпрограммы KeInitializeCallbackRecord, описанной в макросах ядра Windows.
[in] CallbackRoutine
Указатель на подпрограмму обратного вызова типа KBUGCHECK_REASON_CALLBACK_ROUTINE для регистрации. Сведения о том, как реализовать эту процедуру обратного вызова, см. в разделе Написание процедуры обратного вызова для проверки ошибок.
[in] Reason
Перечисление типа KBUGCHECK_CALLBACK_REASON , указывающее тип подпрограммы обратного вызова, на которую указывает CallbackRoutine .
[in] Component
Указатель на строку ANSI, завершающуюся null, которая идентифицирует вызывающий объект. Например, можно выбрать строку, описывающую драйвер устройства или содержащую имя устройства. Вы можете использовать расширение отладчика !bugdump для отображения данных аварийного дампа, связанных с этой строкой.
Возвращаемое значение
KeRegisterBugCheckReasonCallback возвращает значение TRUE , если процедура обратного вызова успешно зарегистрирована; в противном случае возвращается значение FALSE.
Комментарии
Драйверы могут использовать KeRegisterBugCheckReasonCallback для регистрации подпрограмм, которые выполняются во время проверка системных ошибок.
Описание каждого типа обратного вызова см. в разделе KBUGCHECK_CALLBACK_REASON.
Драйверы могут использовать подпрограмму KeDeregisterBugCheckReasonCallback для удаления ошибки проверка регистрации обратного вызова. Любой драйвер, который может быть выгружен, должен удалить регистрации всех его обратных вызовов в процедуре выгрузки .
Сведения о том, как реализовать эти процедуры обратного вызова, см. в разделе Написание процедуры обратного вызова для проверки ошибок.
Для отображения данных вторичного дампа можно использовать метод IDebugDataSpaces3::ReadTagged** в расширении отладчика. Другой вариант — отладка ошибки проверка самой подпрограммы обратного вызова. Дополнительные сведения об отладчиках и расширениях отладчика см. в разделе Отладка Windows.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows XP с пакетом обновления 1 (SP1), Windows Server 2003 и более поздних версиях Windows. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Любой уровень |
См. также раздел
Написание процедуры обратного вызова проверки ошибок
KBUGCHECK_REASON_CALLBACK_RECORD