버그 검사 0x102: DPC_WATCHDOG_TIMEOUT

DPC_WATCHDOG_TIMEOUT 버그 검사 값은 0x00000102. 이는 DPC watchdog 루틴이 할당된 시간 간격 내에 실행되지 않음을 나타냅니다.

중요

이 문서는 프로그래머용입니다. 컴퓨터를 사용하는 동안 파란색 화면 오류 코드를 받은 고객인 경우 블루 스크린 오류 문제 해결을 참조하세요.

DPC_WATCHDOG_TIMEOUT 매개 변수

매개 변수 Description
1 명목 클록 틱의 DPC Watchdog 제한 시간 간격입니다.
2 중단된 프로세서의 PRCB 주소입니다.
3 예약됨
4 예약됨

원인

이 버그 검사 일반적으로 ISR이 클록 수준 이하의 IRQL에 걸려 있거나 DPC 루틴이 지정된 프로세서에 걸려 있음을 의미합니다.

예를 들어 StorPort Miniport 드라이버의 경우 StorPort.sys DISPATCH_LEVEL 실행되는 루틴에서 I/O 완료를 처리하고 방금 완료한 모든 IRP의 I/O 완료 루틴을 직렬로 호출합니다. I/O 완성 루틴이 너무 오래 걸리거나 함께 사용하면 키보드 및/또는 마우스의 응답이 중지될 수 있습니다. Windows DPC Watchdog 타이머 루틴이 StorPort 루틴을 완료하는 데 과도한 시간이 소요되었음을 결정할 수도 있습니다.

해결 방법

스토리지 스택의 커널 드라이버는 드라이버의 I/O 완료 루틴을 효율적으로 코딩하여 문제의 가능성을 줄일 수 있습니다. 완료 루틴에서 필요한 모든 처리를 충분한 시간 안에 수행할 수 없는 경우 루틴은 I/O 작업에 대한 작업 요소를 만들고, 요소를 작업 큐에 큐에 대기시키고, STATUS_MORE_PROCESSING_REQUIRED 반환할 수 있습니다. 그런 다음 드라이버의 작업자 스레드는 작업 요소를 찾고, 작업을 수행하고, IRP에 대해 IoCallerDriver를 수행하여 IRP의 추가 I/O 처리를 확인해야 합니다.