다음을 통해 공유


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

Windows 커널 매크로에 설명된 KeInitializeCallbackRecord 루틴에 대한 호출로 초기화된 KBUGCHECK_REASON_CALLBACK_RECORD 구조체에 대한 포인터입니다.

[in] CallbackRoutine

등록할 KBUGCHECK_REASON_CALLBACK_ROUTINE 형식의 콜백 루틴에 대한 포인터입니다. 이 콜백 루틴을 구현하는 방법에 대한 자세한 내용은 버그 검사 콜백 루틴 작성을 참조하세요.

[in] Reason

CallbackRoutine이 가리키는 콜백 루틴의 형식을 지정하는 형식 KBUGCHECK_CALLBACK_REASON 열거형입니다.

[in] Component

호출자를 식별하는 null로 종료된 ANSI 문자열에 대한 포인터입니다. 예를 들어 디바이스 드라이버를 설명하거나 디바이스 이름을 포함하는 문자열을 선택할 수 있습니다. !bugdump 디버거 확장을 사용하여 이 문자열과 연결된 크래시 덤프 데이터를 표시할 수 있습니다.

반환 값

콜백 루틴이 성공적으로 등록되면 KeRegisterBugCheckReasonCallbackTRUE를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.

설명

드라이버는 KeRegisterBugCheckReasonCallback을 사용하여 시스템 버그 검사 중에 실행되는 루틴을 등록할 수 있습니다.

각 콜백 유형에 대한 설명은 KBUGCHECK_CALLBACK_REASON 참조하세요.

드라이버는 KeDeregisterBugCheckReasonCallback 루틴을 사용하여 콜백 등록에 검사 버그를 제거할 수 있습니다. 언로드할 수 있는 모든 드라이버는 언로드 루틴에서 모든 콜백의 등록을 제거해야 합니다.

이러한 콜백 루틴을 구현하는 방법에 대한 자세한 내용은 버그 검사 콜백 루틴 작성을 참조하세요.

보조 덤프 데이터를 표시하려면 디버거 확장에서 IDebugDataSpaces3::ReadTagged** 메서드를 사용할 수 있습니다. 또 다른 옵션은 콜백 루틴 자체에 검사 버그를 디버그하는 것입니다. 디버거 및 디버거 확장에 대한 자세한 내용은 Windows 디버깅을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP SP1(서비스 팩 1), 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