Функция 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_CALLBACK_REASON

KBUGCHECK_REASON_CALLBACK_RECORD

KeDeregisterBugCheckReasonCallback

KeInitializeCallbackRecord

KeRegisterBugCheckCallback