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 구조체에 대한 포인터입니다. 자세한 내용은 KeRegisterBugCheckReasonCallback의 CallbackRecord 매개 변수에 대한 설명을 참조하세요.
[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_REASON_CALLBACK_RECORD
KeRegisterBugCheckReasonCallback