다음을 통해 공유


KBUGCHECK_REASON_CALLBACK_ROUTINE 콜백 함수(wdm.h)

드라이버 구현 콜백은 버그 검사 발급할 때 시스템이 실행하는 함수입니다.

사용 가능한 콜백 유형에 대한 자세한 내용은 KBUGCHECK_CALLBACK_REASON 참조하세요.

구문

KBUGCHECK_REASON_CALLBACK_ROUTINE KbugcheckReasonCallbackRoutine;

void KbugcheckReasonCallbackRoutine(
  [in]      KBUGCHECK_CALLBACK_REASON Reason,
  [in]      _KBUGCHECK_REASON_CALLBACK_RECORD *Record,
  [in, out] PVOID ReasonSpecificData,
  [in]      ULONG ReasonSpecificDataLength
)
{...}

매개 변수

[in] Reason

콜백 루틴에 대한 호출 이유를 지정하는 형식 KBUGCHECK_CALLBACK_REASON 열거형입니다.

[in] Record

드라이버가 이 콜백을 등록할 때 제공한 KBUGCHECK_REASON_CALLBACK_RECORD 구조체에 대한 포인터입니다. 자세한 내용은 KeRegisterBugCheckReasonCallbackCallbackRecord 매개 변수에 대한 설명을 참조하세요.

[in, out] ReasonSpecificData

아래 표에 의해 결정되는 형식의 구조를 포함하는 버퍼에 대한 포인터입니다. 이 구조의 특정 멤버는 콜백 루틴을 호출하기 전에 운영 체제에 의해 채워지고 다른 멤버는 콜백 루틴으로 채워져야 합니다. 자세한 내용은 버그 검사 콜백 루틴 작성을 참조하세요.

데이터 구조
KbCallbackSecondaryDumpData KBUGCHECK_SECONDARY_DUMP_DATA
KbCallbackDumpIo KBUGCHECK_DUMP_IO
KbCallbackAddPages KBUGCHECK_ADD_PAGES
KbCallbackSecondaryMultiPartDumpData KBUGCHECK_SECONDARY_DUMP_DATA_EX
KbCallbackRemovePages KBUGCHECK_REMOVE_PAGES
KbCallbackTriageDumpData KBUGCHECK_TRIAGE_DUMP_DATA

[in] ReasonSpecificDataLength

ReasonSpecificData 매개 변수가 가리키는 버퍼의 크기(바이트)를 지정합니다.

반환 값

없음

설명

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

크래시 덤프 파일에 데이터를 쓰는 방법을 보여 주는 샘플 코드는 DMF_CrashDump 참조하세요.

요구 사항

요구 사항
대상 플랫폼 데스크톱
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
IRQL HIGH_LEVEL 호출합니다.

추가 정보

KBUGCHECK_ADD_PAGES

KBUGCHECK_CALLBACK_REASON

KBUGCHECK_REASON_CALLBACK_RECORD

KeRegisterBugCheckReasonCallback

KeDeregisterBugCheckReasonCallback

버그 검사 콜백 루틴 작성