버그 검사 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를 취소하지 못하여 발생합니다.
해결 방법
드라이버 작성기인 경우 이 버그 검사 통해 얻은 정보를 사용하여 코드의 버그를 수정합니다.
시스템 관리자인 경우 문제가 지속되면 드라이버를 언로드해야 합니다.