버그 검사 0xC7: TIMER_OR_DPC_INVALID

TIMER_OR_DPC_INVALID 버그 검사 값은 0x000000C7. 커널 타이머 또는 DPC(지연 프로시저 호출)가 허용되지 않는 메모리 어딘가에 있는 경우 이 문제가 발생합니다.

중요

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

TIMER_OR_DPC_INVALID 매개 변수

매개 변수 1 매개 변수 2 매개 변수 3 매개 변수 4 오류 원인

0x0

타이머 개체의 주소

검사 중인 메모리 범위의 시작

검사 중인 메모리 범위의 끝

타이머 개체는 타이머 개체가 허용되지 않는 메모리 블록에서 발견되었습니다. .

0x1

DPC 개체의 주소

검사 중인 메모리 범위의 시작

검사 중인 메모리 범위의 끝

DPC 개체는 DPC 개체가 허용되지 않는 메모리 블록에서 발견되었습니다.

0x2

DPC 루틴의 주소

검사 중인 메모리 범위의 시작

검사 중인 메모리 범위의 끝

DPC 루틴은 DPC 개체가 허용되지 않는 메모리 블록에서 발견되었습니다.

0x3

DPC 개체의 주소

프로세서 번호

시스템의 프로세서 수

DPC 개체의 프로세서 번호가 올바르지 않습니다.

0x4

DPC 루틴의 주소

커널이 DPC 루틴을 호출하기 전에 스레드의 APC 사용 안 함 수

DPC 루틴이 호출된 후 스레드의 APC 사용 안 함 수

스레드의 APC 비활성화 횟수는 DPC 루틴 실행 중에 변경되었습니다.

드라이버가 KeEnterCriticalRegion, FsRtlEnterFileSystem을 호출하거나 뮤텍스를 획득할 때마다 APC 사용 안 함 수가 감소합니다.

드라이버가 KeLeaveCriticalRegion, KeReleaseMutex 또는 FsRtlExitFileSystem을 호출할 때마다 APC 사용 안 함 수가 증가합니다.

0x5

DPC 루틴의 주소

커널이 DPC 루틴을 호출하기 전에 스레드의 APC 사용 안 함 수

DPC 루틴이 호출된 후 스레드의 APC 사용 안 함 수

스레드의 APC 비활성화 횟수는 타이머 DPC 루틴을 실행하는 동안 변경되었습니다.

드라이버가 KeEnterCriticalRegion, FsRtlEnterFileSystem을 호출하거나 뮤텍스를 획득할 때마다 APC 사용 안 함 수가 감소합니다.

드라이버가 KeLeaveCriticalRegion, KeReleaseMutex 또는 FsRtlExitFileSystem을 호출할 때마다 APC 사용 안 함 수가 증가합니다.

원인

이 조건은 일반적으로 드라이버가 있는 메모리를 해제하기 전에 타이머 또는 DPC를 취소하지 못하여 발생합니다.

해결 방법

드라이버 작성기인 경우 이 버그 검사 통해 얻은 정보를 사용하여 코드의 버그를 수정합니다.

시스템 관리자인 경우 문제가 지속되면 드라이버를 언로드해야 합니다.