버그 검사 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION
DRIVER_VERIFIER_DETECTED_VIOLATION 버그 검사 값은 0x000000C4. 드라이버 검증 도구에서 발견한 심각한 오류에 대한 일반적인 버그 검사 코드입니다. 자세한 내용은 드라이버 검증 도구가 사용하도록 설정된 경우 버그 검사 처리를 참조하세요.
중요
이 문서는 프로그래머용입니다. 컴퓨터를 사용하는 동안 파란색 화면 오류 코드를 받은 고객인 경우 블루 스크린 오류 문제 해결을 참조하세요.
DRIVER_VERIFIER_DETECTED_VIOLATION 매개 변수
매개 변수 1은 위반 유형을 식별합니다. 나머지 매개 변수의 의미는 매개 변수 1의 값에 따라 다릅니다. 매개 변수 값은 다음 표에 설명되어 있습니다.
참고 이 테이블의 5개 열을 모두 보는 데 문제가 있는 경우 다음을 시도해 보세요.
- 브라우저 창을 전체 크기로 확장합니다.
- 테이블에 커서를 놓고 화살표 키를 사용하여 왼쪽과 오른쪽으로 스크롤합니다.
0x70 0x00
매개 변수 1 | 매개 변수 2 | 매개 변수 3 | 매개 변수 4 | 오류 원인 |
---|---|---|---|---|
0x00 | 현재 IRQL | 풀 유형 | 바이트 수 | 드라이버가 0 바이트 풀 할당을 요청했습니다. |
0x01 | 현재 IRQL | 풀 유형 | 할당 크기(바이트) | 드라이버가 IRQL > APC_LEVEL 페이징된 메모리를 할당하려고 했습니다. |
0x02 | 현재 IRQL | 풀 유형 | 할당 크기(바이트) | 드라이버가 IRQL > DISPATCH_LEVEL 사용하여 페이지가 없는 메모리를 할당하려고 했습니다. |
0x03 | 호출자가 두 개 이상의 페이지가 성공 풀을 할당하려고 하지만 한 페이지가 이 API에서 허용되는 최대 페이지입니다. | |||
0x10 | 잘못된 주소 | 0 | 0 | 드라이버가 할당 호출에서 반환되지 않은 주소를 해제하려고 했습니다. |
0x11 | 현재 IRQL | 풀 유형 | 풀 주소 | 드라이버는 IRQL > APC_LEVEL 사용하여 페이징 풀을 해제하려고 했습니다. |
0x12 | 현재 IRQL | 풀 유형 | 풀 주소 | 드라이버는 IRQL > DISPATCH_LEVEL 사용하여 페이지가 없는 풀을 해제하려고 했습니다. |
0x13 또는 0x14 | 예약됨 | 풀 헤더에 대한 포인터 | 풀 헤더 내용 | 드라이버는 이미 해제된 메모리 풀을 해제하려고 했습니다. |
0x15 | 타이머 항목 | 풀 유형 | 풀 주소가 해제됨 | 호출자가 해제하려는 풀에는 활성 타이머가 포함됩니다. |
0x16 | 예약됨 | 풀 주소 | 0 | 드라이버가 잘못된 주소에서 풀을 해제하려고 시도했거나 드라이버가 잘못된 매개 변수를 메모리 루틴에 전달했습니다. |
0X17 | 리소스 항목 | 풀 유형 | 풀 주소가 해제됨 | 호출자가 해제하려는 풀에는 활성 ERESOURCE가 포함됩니다. |
0x30 | 현재 IRQL | 요청된 IRQL | 0 | 드라이버가 KeRaiseIrql에 잘못된 매개 변수를 전달했습니다. (매개 변수는 현재 IRQL보다 낮은 값이거나 HIGH_LEVEL 보다 높은 값입니다. 초기화되지 않은 매개 변수를 사용한 결과일 수 있습니다.) |
0x31 | 현재 IRQL | 요청된 IRQL | 0: 새 IRQL이 잘못됨 1: DPC 루틴 내에서 새 IRQL이 잘못되었습니다. | 드라이버가 잘못된 매개 변수를 KeLowerIrql에 전달했습니다. (매개 변수는 현재 IRQL보다 높은 값이거나 HIGH_LEVEL 보다 높은 값입니다. 초기화되지 않은 매개 변수를 사용한 결과일 수 있습니다.) |
0x32 | 현재 IRQL | 스핀 잠금 주소 | 0 | 드라이버는 DISPATCH_LEVEL 이외의 IRQL에서 KeReleaseSpinLock 을 호출했습니다. (스핀 잠금의 이중 릴리스 때문일 수 있습니다.) |
0x33 | 현재 IRQL | 빠른 뮤텍스 주소 | 0 | 드라이버는 IRQL > APC_LEVEL 사용하여 빠른 뮤텍스를 획득하려고 했습니다. |
0x34 | 현재 IRQL | 스레드 APC 사용 안 함 수 | 빠른 뮤텍스 주소 | 드라이버는 APC_LEVEL 이외의 IRQL에서 빠른 뮤텍스를 해제하려고 했습니다. |
0x35 | 현재 IRQL | 스핀 잠금 주소 | 이전 IRQL | 커널은 IRQL이 DISPATCH_LEVEL 같지 않은 스핀 잠금을 해제했습니다. |
0x36 | 현재 IRQL | 스핀 잠금 번호 | 이전 IRQL | 커널은 IRQL이 DISPATCH_LEVEL 같지 않은 큐에 대기된 스핀 잠금을 해제했습니다. |
0x37 | 현재 IRQL | 스레드 APC 사용 안 함 수 | 리소스 | 드라이버가 리소스를 획득하려고 했지만 APC를 사용하지 않도록 설정하지 않았습니다. |
0x38 | 현재 IRQL | 스레드 APC 사용 안 함 수 | 리소스 | 드라이버가 리소스를 해제하려고 했지만 APC를 사용하지 않도록 설정하지 않았습니다. |
0x39 | 현재 IRQL | 스레드 APC 사용 안 함 수 | Mutex | 드라이버는 IRQL이 항목의 APC_LEVEL 같지 않은 "안전하지 않은" 뮤텍스를 획득하려고 했습니다. |
0x3A | 현재 IRQL | 스레드 APC 사용 안 함 수 | Mutex | 드라이버는 IRQL이 항목의 APC_LEVEL 같지 않은 뮤텍스 "안전하지 않음"을 해제하려고 했습니다. |
0x3B | 현재 IRQL | 대기할 개체 | 시간 초과 매개 변수 | KeWaitXxx 루틴은 DISPATCH_LEVEL 이상에서 호출되고 있습니다. |
0x3C를 지정합니다. | 루틴에 전달된 핸들 | 개체 유형 | 0 | 드라이버가 잘못된 핸들을 사용하여 ObReferenceObjectByHandle 이라고 합니다. |
0x3D | 0 | 0 | 잘못된 리소스의 주소 | 드라이버가 잘못된(정렬되지 않은) 리소스를 ExAcquireResourceExclusive에 전달했습니다. |
0x3E | 0 | 0 | 0 | 현재 중요한 지역에 있지 않은 스레드에 대해 KeLeaveCriticalRegion 이라는 드라이버입니다. |
0x3F | 개체 주소 | 새 개체 참조 수입니다. -1: 역참조 사례 1: 참조 사례 | 0 | 드라이버는 참조 수가 0인 개체에 ObReferenceObject 를 적용하거나 드라이버가 참조 수가 0인 개체에 ObDereferenceObject 를 적용했습니다. |
0x40 | 현재 IRQL | 스핀 잠금 주소 | 0 | IRQL < DISPATCH_LEVEL 있는 KeAcquireSpinLockAtDpcLevel이라는 드라이버입니다. |
0x41 | 현재 IRQL | 스핀 잠금 주소 | 0 | IRQL < DISPATCH_LEVEL 있는 KeReleaseSpinLockFromDpcLevel이라는 드라이버입니다. |
0x42 | 현재 IRQL | 스핀 잠금 주소 | 0 | 드라이버가 IRQL > DISPATCH_LEVEL 있는 KeAcquireSpinLock이라고 합니다. |
0x51 | 할당의 기본 주소 | 할당 이외의 참조 주소 | 청구된 바이트 수 | 드라이버가 할당이 종료된 후 메모리를 해제하려고 했습니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 풀 추적 옵션이 활성화된 경우에만 발생합니다. |
0x52 | 할당의 기본 주소 | 해시 항목 | 청구된 바이트 수 | 드라이버가 할당이 종료된 후 메모리를 해제하려고 했습니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 풀 추적 옵션이 활성화된 경우에만 발생합니다. |
0x53 | 할당의 기본 주소 | 헤더 | 예약됨 | 드라이버가 할당이 종료된 후 메모리를 해제하려고 했습니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 풀 추적 옵션이 활성화된 경우에만 발생합니다. |
0x54 | 할당의 기본 주소 | 예약됨 | 풀 해시 크기 | 드라이버가 할당이 종료된 후 메모리를 해제하려고 했습니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 풀 추적 옵션이 활성화된 경우에만 발생합니다. |
0x59 | 할당의 기본 주소 | Listindex | 예약됨 | 드라이버는 할당이 끝난 후 메모리를 해제하려고 했습니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 풀 추적 옵션이 활성화된 경우에만 발생합니다. |
0x60 | 페이징 풀에서 할당된 바이트 | 페이지가 없는 풀에서 할당된 바이트 | 해제되지 않은 총 할당 수 | 먼저 풀 할당을 해제하지 않고 드라이버가 언로드됩니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 풀 추적 옵션이 활성화된 경우에만 발생합니다. |
0x61 | 페이징 풀에서 할당된 바이트 | 페이지가 없는 풀에서 할당된 바이트 | 해제되지 않은 총 할당 수 | 드라이버 스레드가 드라이버가 언로드되는 동안 풀 메모리를 할당하려고 합니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 풀 추적 옵션이 활성화된 경우에만 발생합니다. |
0x62 | 드라이버 이름 | 예약됨 | 페이징 풀과 비페이지 풀을 포함하여 해제되지 않은 총 할당 수 | 먼저 풀 할당을 해제하지 않고 드라이버가 언로드됩니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 풀 추적 옵션이 활성화된 경우에만 발생합니다. 버그 검사를 발생시킨 유출된 할당에 대한 정보는 !verifier 3 drivername.sys 입력합니다. |
0x6F | MDL 주소 | 잠겨 있는 실제 페이지 | 시스템에서 가장 높은 실제 페이지 | MMProbeAndLockPages는 PFN 데이터베이스가 아닌 페이지에서 호출됩니다. 일반적으로 이 루틴을 호출하여 자체 프라이빗 이중 포트 RAM을 잠그는 드라이버입니다. 이는 필요하지 않을 뿐만 아니라 연속되지 않은 물리적 RAM이 있는 컴퓨터의 메모리도 손상될 수 있습니다. |
0x91 0x70
매개 변수 1 | 매개 변수 2 | 매개 변수 3 | 매개 변수 4 | 오류 원인 |
---|---|---|---|---|
0x70 | 현재 IRQL | MDL 주소 | 액세스 모드 | IRQL > DISPATCH_LEVEL 있는 MmProbeAndLockPages라는 드라이버입니다. |
0x71 | 현재 IRQL | MDL 주소 | 프로세스 주소 | IRQL > DISPATCH_LEVEL 있는 MmProbeAndLockProcessPages라는 드라이버입니다. |
0x72 | 현재 IRQL | MDL 주소 | 프로세스 주소 | IRQL > DISPATCH_LEVEL 있는 MmProbeAndLockSelectedPages라는 드라이버입니다. |
0x73 | 현재 IRQL | 32비트 Windows: 물리적 주소의 낮은 32비트 64비트 Windows: 64비트 물리적 주소 | 바이트 수 | IRQL > DISPATCH_LEVEL 있는 MmMapIoSpace라는 드라이버입니다. |
0x74 | 현재 IRQL | MDL 주소 | 액세스 모드 | 드라이버가 IRQL > DISPATCH_LEVEL 있는 커널 모드의 MmMapLockedPages라고 합니다. |
0x75 | 현재 IRQL | MDL 주소 | 액세스 모드 | IRQL > APC_LEVEL 사용자 모드에서 MmMapLockedPages라는 드라이버입니다. |
0x76 | 현재 IRQL | MDL 주소 | 액세스 모드 | IRQL > DISPATCH_LEVEL 있는 커널 모드에서 MmMapLockedPagesSpecifyCache라는 드라이버입니다. |
0x77 | 현재 IRQL | MDL 주소 | 액세스 모드 | IRQL > APC_LEVEL 사용자 모드에서 MmMapLockedPagesSpecifyCache라는 드라이버. |
0x78 | 현재 IRQL | MDL 주소 | 0 | 드라이버가 IRQL > DISPATCH_LEVEL 있는 MmUnlockPages라고 합니다. |
0x79 | 현재 IRQL | 매핑되지 않은 가상 주소 | MDL 주소 | 드라이버가 IRQL > DISPATCH_LEVEL 커널 모드의 MmUnmapLockedPages라고 합니다. |
0x7A | 현재 IRQL | 매핑되지 않은 가상 주소 | MDL 주소 | IRQL > APC_LEVEL 사용자 모드에서 MmUnmapLockedPages라는 드라이버입니다. |
0x7B | 현재 IRQL | 매핑되지 않은 가상 주소 | 바이트 수 | IRQL > APC_LEVEL 있는 MmUnmapIoSpace라는 드라이버입니다. |
0x7C | MDL 주소 | MDL 플래그 | 0 | 드라이버는 MmUnlockPages를 호출하고 페이지가 성공적으로 잠기지 않은 MDL을 전달했습니다. |
0x7D | MDL 주소 | MDL 플래그 | 0 | 드라이버는 MmUnlockPages를 호출하고 페이지가 페이지가 없는 풀에서 온 MDL을 전달했습니다. (잠금을 해제하면 안 됩니다.) |
0x7E | 현재 IRQL | DISPATCH_LEVEL | 0 | IRQL > DISPATCH_LEVEL 있는 MmAllocatePagesForMdl, MmAllocatePagesForMdlEx 또는 MmFreePagesFromMdl이라는 드라이버입니다. |
0x7F | 현재 IRQL | MDL 주소 | MDL 플래그 | 드라이버는 BuildMdlForNonPagedPool 을 호출하고 페이지가 페이징 풀에서 온 MDL을 전달했습니다. |
0x80 | 현재 IRQL | 이벤트 주소 | 0 | 드라이버는 IRQL > DISPATCH_LEVEL KeSetEvent라고 합니다. |
0x81 | MDL 주소 | MDL 플래그 | 0 | MmMapLockedPages라는 드라이버입니다. (BugCheckOnFailure 매개 변수가 FALSE로 설정된 상태에서 MmMapLockedPagesSpecifyCache 를 대신 사용해야 합니다.) |
0x82 | MDL 주소 | MDL 플래그 | 0 | BugCheckOnFailure 매개 변수가 TRUE인 MmMapLockedPagesSpecifyCache 라는 드라이버입니다. (이 매개 변수는 FALSE로 설정해야 합니다.) |
0x83 | 매핑할 실제 주소 범위의 시작 | 매핑할 바이트 수 | 잠겨 있지 않은 첫 번째 페이지 프레임 번호 | 드라이버가 MDL 페이지를 잠그지 않고 MmMapIoSpace 라고 했습니다. 매핑되는 실제 주소 범위로 표시되는 실제 페이지는 이 호출을 하기 전에 잠겨 있어야 합니다. |
0x85 | MDL 주소 | 매핑할 페이지 수 | 잠겨 있지 않은 첫 번째 페이지 프레임 번호 | 드라이버는 MDL 페이지를 잠그지 않고 MmMapLockedPages 라고 합니다. |
0x89 | MDL 주소 | MDL의 메모리가 아닌 페이지에 대한 포인터 | MDL의 메모리가 아닌 페이지 번호 | MDL은 "I/O"로 표시되지 않지만 메모리가 아닌 페이지 주소를 포함합니다. |
0x91 | 예약됨 | 예약됨 | 예약됨 | 드라이버는 운영 체제에서 지원되지 않는 메서드를 사용하여 스택을 전환했습니다. 커널 모드 스택을 확장하는 유일한 지원 방법은 KeExpandKernelStackAndCallout을 사용하는 것입니다. |
0x140 0xA0
매개 변수 1 | 매개 변수 2 | 매개 변수 3 | 매개 변수 4 | 오류 원인 |
---|---|---|---|---|
0xA0 | 읽기 또는 쓰기 요청을 만드는 IRP에 대한 포인터 | 하위 디바이스의 디바이스 개체 | 오류가 검색된 섹터 수 | 하드 디스크에서 CRC(순환 중복 검사) 오류가 검색되었습니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 디스크 무결성 검사 옵션이 활성화된 경우에만 발생합니다. |
0xA1 | 읽기 또는 쓰기 요청을 만드는 IRP의 복사본입니다. (실제 IRP가 완료되었습니다.) | 하위 디바이스의 디바이스 개체 | 오류가 검색된 섹터 수 | 섹터에서 CRC 오류가 감지되었습니다(비동기적으로). 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 디스크 무결성 검사 옵션이 활성화된 경우에만 발생합니다. |
0xA2 | 읽기 또는 쓰기 요청을 만드는 IRP 또는 이 IRP의 복사본 | 하위 디바이스의 디바이스 개체 | 오류가 검색된 섹터 수 | CRCDISK 체크섬 복사본이 일치하지 않습니다. 페이징 오류일 수 있습니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 디스크 무결성 검사 옵션이 활성화된 경우에만 발생합니다. |
0xB0 | MDL 주소 | MDL 플래그 | 잘못된 MDL 플래그 | 잘못된 플래그가 있는 MDL에 대해 MmProbeAndLockPages 라는 드라이버입니다. 예를 들어 드라이버는 MmBuildMdlForNonPagedPool 에서 만든 MDL을 MmProbeAndLockPages에 전달했습니다. |
0xB1 | MDL 주소 | MDL 플래그 | 잘못된 MDL 플래그 | 잘못된 플래그가 있는 MDL에 대해 MmProbeAndLockProcessPages라는 드라이버입니다. 예를 들어 드라이버는 MmBuildMdlForNonPagedPool 에서 만든 MDL을 MmProbeAndLockProcessPages에 전달했습니다. |
0xB2 | MDL 주소 | MDL 플래그 | 잘못된 MDL 플래그 | 드라이버가 잘못된 플래그가 있는 MDL에 대해 MmMapLockedPages 를 호출했습니다. 예를 들어 드라이버는 시스템 주소에 이미 매핑되었거나 MmMapLockedPages에 잠겨 있지 않은 MDL을 전달했습니다. |
0xB3 | MDL 주소 | MDL 플래그 | MDL 플래그 누락(하나 이상 예상됨) | 드라이버가 잘못된 플래그가 있는 MDL에 대해 MmMapLockedPages 를 호출했습니다. 예를 들어 드라이버는 MmMapLockedPages에 잠겨 있지 않은 MDL을 전달했습니다. |
0xB4 | MDL 주소 | MDL 플래그 | 예기치 않은 부분 MDL 플래그 | 부분 MDL에 대한 MmUnlockPages 라는 드라이버입니다. 부분 MDL은 IoBuildPartialMdl에서 만든 MDL입니다. |
0xB5 | MDL 주소 | MDL 플래그 | 예기치 않은 부분 MDL 플래그 | MmUnmapLockedPages는 부분 MDL( IoBuildPartialMdl로 생성됨)에서 호출됩니다. |
0xB6 | MDL 주소 | MDL 플래그 | MDL 플래그 누락 | MmUnmapLockedPages는 시스템 주소에 매핑되지 않은 MDL에서 호출됩니다. |
0xB7 | 손상된 실제 페이지 수입니다. | 처음 손상된 실제 페이지입니다. | 마지막으로 손상된 실제 페이지입니다. | 시스템 BIOS가 절전 모드 전환 중에 낮은 실제 메모리를 손상시켰습니다. |
0xB8 | MDL 주소 | MDL 플래그 | 예약됨 | MDL에서 설명하는 페이지는 여전히 매핑됩니다. 드라이버는 IoFreeMdl을 호출하기 전에 페이지 매핑을 해제해야 합니다. |
0xB9 | 매핑을 해제하는 주소입니다. | MDL 주소입니다. | 예약됨 | 잘못된 사용자 공간 주소로 호출된 MmUnmapLockedPages입니다. |
0xC0 | IRP의 주소 | 0 | 예약됨 | 인터럽트 사용 안 함으로 설정된 IoCallDriver 라는 드라이버입니다. |
0xC1 | 드라이버 디스패치 루틴의 주소 | 예약됨 | 예약됨 | 인터럽트 사용 안 함으로 드라이버 디스패치 루틴이 반환되었습니다. |
0xc2 | 0 | 0 | 0 | 인터럽트 해제 후 드라이버가 빠른 I/O 디스패치 루틴이라고 합니다. |
0xC3을 지정합니다. | 드라이버 빠른 I/O 디스패치 루틴의 주소 | 예약됨 | 예약됨 | 인터럽트 사용 안 함으로 드라이버 빠른 I/O 디스패치 루틴이 반환되었습니다. |
0xC5 | 드라이버 디스패치 루틴의 주소 | 현재 스레드의 APC 사용 안 함 수 | 드라이버 디스패치 루틴을 호출하기 전에 스레드의 APC 사용 안 함 수 | 드라이버 디스패치 루틴이 스레드의 APC 사용 안 함 수를 변경했습니다. APC 사용 안 함 수는 드라이버가 KeEnterCriticalRegion, FsRtlEnterFileSystem을 호출하거나 뮤텍스를 획득할 때마다 감소합니다. 드라이버가 KeLeaveCriticalRegion, KeReleaseMutex 또는 FsRtlExitFileSystem을 호출할 때마다 APC 사용 안 함 수가 증가합니다. 이러한 호출은 항상 쌍으로 되어 있어야 하므로 스레드가 종료될 때마다 APC 사용 안 함 수는 0이어야 합니다. 음수 값은 드라이버가 APC 호출을 다시 사용하도록 설정하지 않고 사용하지 않도록 설정했음을 나타냅니다. 양수 값은 역방향이 true임을 나타냅니다. |
0xC6 | 드라이버 빠른 I/O 디스패치 루틴의 주소 | 현재 스레드의 APC 사용 안 함 수 | 빠른 I/O 드라이버 디스패치 루틴을 호출하기 전에 스레드의 APC 사용 안 함 수 | 드라이버 빠른 I/O 디스패치 루틴이 스레드의 APC 사용 안 함 수를 변경했습니다. APC 사용 안 함 수는 드라이버가 KeEnterCriticalRegion, FsRtlEnterFileSystem을 호출하거나 뮤텍스를 획득할 때마다 감소합니다. 드라이버가 KeLeaveCriticalRegion, KeReleaseMutex 또는 FsRtlExitFileSystem을 호출할 때마다 APC 사용 안 함 수가 증가합니다. 이러한 호출은 항상 쌍으로 되어 있어야 하므로 스레드가 종료될 때마다 APC 사용 안 함 수는 0이어야 합니다. 음수 값은 드라이버가 APC 호출을 다시 사용하도록 설정하지 않고 사용하지 않도록 설정했음을 나타냅니다. 양수 값은 역방향이 true임을 나타냅니다. |
0xCA | lookaside 목록의 주소 | 예약됨 | 예약됨 | 드라이버가 lookaside 목록을 다시 초기화하려고 했습니다. |
0xCB | lookaside 목록의 주소 | 예약됨 | 예약됨 | 드라이버가 초기화되지 않은 lookaside 목록을 삭제하려고 했습니다. |
0xCC | lookaside 목록의 주소 | 풀 할당의 시작 주소 | 풀 할당의 크기 | 드라이버가 활성 lookaside 목록을 포함하는 풀 할당을 해제하려고 했습니다. |
0xCD | lookaside 목록의 주소 | 호출자가 지정한 블록 크기 | 지원되는 최소 블록 크기 | 드라이버가 할당 블록 크기가 너무 작은 lookaside 목록을 만들려고 했습니다. |
0xD0 | ERESOURCE 구조체의 주소 | 예약됨 | 예약됨 | 드라이버가 ERESOURCE 구조를 다시 초기화하려고 했습니다. |
0xD1 | ERESOURCE 구조체의 주소 | 예약됨 | 예약됨 | 드라이버가 초기화되지 않은 ERESOURCE 구조를 삭제하려고 했습니다. |
0xD2 | ERESOURCE 구조체의 주소 | 풀 할당의 시작 주소 | 풀 할당의 크기 | 드라이버가 활성 ERESOURCE 구조를 포함하는 풀 할당을 해제하려고 했습니다. |
0xD5 | 드라이버의 확인된 빌드 버전에서 만든 IO_REMOVE_LOCK 구조체의 주소 | 현재 IoReleaseRemoveLock 태그 | 예약됨 | 현재 IoReleaseRemoveLock 태그가 이전 IoAcquireRemoveLock 태그와 일치하지 않습니다. IoReleaseRemoveLock을 호출하는 드라이버가 확인된 빌드에 없는 경우 매개 변수 2는 드라이버를 대신하여 드라이버 검증 도구에서 만든 섀도 IO_REMOVE_LOCK 구조체의 주소입니다. 이 경우 드라이버 검증 도구가 모든 잠금 제거 API의 잠금 주소를 대체하므로 드라이버에서 사용하는 IO_REMOVE_LOCK 구조체의 주소는 전혀 사용되지 않습니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 I/O 확인 옵션이 활성화된 경우에만 발생합니다. |
0xD6 | 드라이버의 확인된 빌드 버전에서 만든 IO_REMOVE_LOCK 구조체의 주소 | 이전 IoAcquireRemoveLock 태그와 일치하지 않는 태그 | 이전 IoAcquireRemoveLock 태그 | 현재 IoReleaseRemoveLockAndWait 태그가 이전 IoAcquireRemoveLock 태그와 일치하지 않습니다. IoReleaseRemoveLock을 호출하는 드라이버가 확인된 빌드가 아닌 경우 매개 변수 2는 드라이버를 대신하여 드라이버 검증 도구에서 만든 섀도 IO_REMOVE_LOCK 구조체의 주소입니다. 이 경우 드라이버 검증 도구가 모든 잠금 제거 API의 잠금 주소를 대체하므로 드라이버에서 사용하는 IO_REMOVE_LOCK 구조체의 주소는 전혀 사용되지 않습니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 I/O 확인 옵션이 활성화된 경우에만 발생합니다. |
0xD7 | 드라이버 검증 도구에서 내부적으로 사용되는 확인된 빌드의 주소 잠금 제거 구조체 | 드라이버에서 지정한 잠금 제거 구조체의 주소 | 예약됨 | IoAcquireRemoveLock을 호출하여 다른 스레드가 여전히 해당 잠금을 사용하고 있을 수 있으므로 IoReleaseRemoveLockAndWait을 호출한 후에도 잠금 제거를 다시 초기화할 수 없습니다. 드라이버는 디바이스 확장 내에서 잠금 제거를 할당하고 한 번 초기화해야 합니다. 잠금은 디바이스 확장과 함께 삭제됩니다. |
0xDA | 드라이버의 시작 주소 | 드라이버 내의 WMI 콜백 주소 | 예약됨 | WMI 콜백 함수를 등록 취소하지 않은 드라이버를 언로드하려고 했습니다. |
0xDB | 디바이스 개체의 주소 | 예약됨 | 예약됨 | WMI에서 등록 취소되지 않은 디바이스 개체를 삭제하려고 했습니다. |
0xDC | 예약됨 | 예약됨 | 예약됨 | 잘못된 RegHandle 값이 EtwUnregister 함수의 매개 변수로 지정되었습니다. |
0xDD | EtwRegister 호출의 주소 | 언로드 드라이버의 시작 주소 | Windows 8 이상 버전의 경우 이 매개 변수는 ETW RegHandle 값입니다. | EtwUnregister를 호출하지 않고 드라이버를 언로드하려고 했습니다. |
0xDF | 동기화 개체 주소 | 0 | 0 | 동기화 개체는 세션 주소 공간에 있습니다. 동기화 개체는 다른 세션 또는 세션 가상 주소 공간이 없는 시스템 스레드에서 조작할 수 있으므로 세션 주소 공간에서 허용되지 않습니다. |
0xE0 | 매개 변수로 사용되는 사용자 모드 주소 | 매개 변수로 사용되는 주소 범위의 크기(바이트)입니다. | 예약됨 | 사용자 모드 주소를 매개 변수로 지정한 운영 체제 커널 함수를 호출했습니다. |
0xE1 | 동기화 개체의 주소 | 예약됨 | 예약됨 | 동기화 개체에 유효하지 않거나 페이지가 지정 가능한 주소가 있는 것으로 확인되었습니다. |
0xE2 | IRP의 주소 | IRP에 있는 사용자 모드 주소 | 예약됨 | Irp-RequestorMode>가 KernelMode로 설정된 IRP가 해당 멤버 중 하나로 사용자 모드 주소를 갖는 것으로 확인되었습니다. |
0xE3 | API에 대한 호출 주소 | API에서 매개 변수로 사용되는 사용자 모드 주소 | 예약됨 | 드라이버가 사용자 모드 주소를 매개 변수로 사용하여 커널 모드 ZwXxx 루틴을 호출했습니다. |
0xE4 | API에 대한 호출 주소 | 형식이 잘못된 UNICODE_STRING 구조체의 주소 | 예약됨 | 드라이버가 잘못된 형식의 UNICODE_STRING 구조를 매개 변수로 사용하여 커널 모드 ZwXxx 루틴을 호출했습니다. |
0xE5 | 현재 IRQL | 예약됨 | 예약됨 | 잘못된 IRQL에서 커널 API를 호출했습니다. |
0xE6 | Zw API 호출을 만드는 드라이버 내의 주소 | 현재 IRQL | 특수 커널 APC. | 커널 Zw API는 IRQL = PASSIVE_LEVEL 및 특수 커널 APC를 사용하도록 설정된 상태에서 호출되지 않았습니다. |
0xEA | 현재 IRQL | 스레드의 APC 사용 안 함 수 | 푸시록의 주소 | APC를 사용하는 동안 드라이버가 푸시록을 획득하려고 했습니다. |
0xEB | 현재 IRQL | 스레드의 APC 사용 안 함 수 | 푸시록의 주소 | APC를 사용하는 동안 드라이버가 푸시록을 해제하려고 했습니다. |
0xF0을 지정합니다. | 대상 버퍼의 주소 | 원본 버퍼의 주소 | 복사할 바이트 수 | 겹치는 원본 및 대상 버퍼가 있는 memcpy 함수라는 드라이버입니다. |
0xF5 | NULL 핸들의 주소 | 개체 유형 | 예약됨 | 드라이버가 NULL 핸들을 ObReferenceObjectByHandle에 전달했습니다. |
0xF6 | 참조되는 값 처리 | 현재 프로세스의 주소 | 잘못된 참조를 수행하는 드라이버 내의 주소 | 드라이버는 사용자 모드 핸들을 커널 모드로 참조합니다. |
0xF7 | 호출자가 지정한 값 처리 | 호출자가 지정한 개체 형식 | 호출자가 지정한 AccessMode | 드라이버가 시스템 프로세스의 컨텍스트에서 커널 핸들에 대한 사용자 모드 참조를 시도하고 있습니다. |
0xFA | 완료 루틴 주소입니다. | 완료 루틴을 호출하기 전 IRQL 값 | 완료 루틴을 호출한 후 현재 IRQL 값 | 루틴이 호출된 IRQL과 다른 IRQL에서 반환된 IRP 완료 루틴입니다. |
0xFB | 완료 루틴 주소 | 현재 스레드의 APC 사용 안 함 수 | 스레드의 APC는 IRP 완료 루틴을 호출하기 전에 개수를 사용하지 않도록 설정합니다. | 스레드의 APC 사용 안 함 횟수가 드라이버의 IRP 완료 루틴에 의해 변경되었습니다. APC 사용 안 함 수는 드라이버가 KeEnterCriticalRegion, FsRtlEnterFileSystem을 호출하거나 뮤텍스를 획득할 때마다 감소합니다. 드라이버가 KeLeaveCriticalRegion, KeReleaseMutex 또는 FsRtlExitFileSystem을 호출할 때마다 APC 사용 안 함 수가 증가합니다. 이러한 호출은 항상 쌍으로 되어 있어야 하므로 스레드가 종료될 때마다 APC 사용 안 함 수는 0이어야 합니다. 음수 값은 드라이버가 APC 호출을 다시 사용하도록 설정하지 않고 사용하지 않도록 설정했음을 나타냅니다. 양수 값은 역방향이 true임을 나타냅니다. |
0xFC | 잘못된 API 호출을 하는 드라이버 내부의 주소입니다. | 제공된 ApcContext 값입니다. | 예약됨 | 지원되지 않는 ApcContext 값을 사용하여 ZwNotifyChangeKey(커널 모드에서)를 호출합니다. |
0x140 0x105
매개 변수 1 | 매개 변수 2 | 매개 변수 3 | 매개 변수 4 | 오류 원인 |
---|---|---|---|---|
0x105 | IRP의 주소 | 0 | 0 | 드라이버는 IoFreeIrp 대신 ExFreePool을 사용하여 IRP를 해제합니다. |
0x10A | 0 | 0 | 0 | 드라이버가 풀 할당량을 유휴 프로세스에 청구하려고 시도합니다. |
0x10B | 0 | 0 | 0 | 드라이버는 DPC 루틴에서 풀 할당량을 청구하려고 시도합니다. 현재 프로세스 컨텍스트가 정의되지 않아 올바르지 않습니다. |
0x110 | 인터럽트 서비스 루틴의 주소 | ISR을 실행하기 전에 저장된 확장 컨텍스트의 주소 | ISR을 실행한 후 확장 컨텍스트의 주소가 저장되었습니다. | 드라이버의 ISR(인터럽트 서비스 루틴)이 확장 스레드 컨텍스트를 손상시켰습니다. |
0x111 | 인터럽트 서비스 루틴의 주소 | ISR을 실행하기 전에 IRQL | ISR을 실행한 후 IRQL | 인터럽트 서비스 루틴이 변경된 IRQL을 반환했습니다. |
0x115 | 교착 상태일 수 있는 종료를 담당하는 스레드의 주소입니다. | 0 | 0 | 드라이버 검증 도구는 시스템이 20분 이상 걸리고 종료가 완료되지 않았다는 것을 발견했습니다. |
0x11A | 현재 IRQL | 0 | 0 | 드라이버는 IRQL > APC_LEVEL KeEnterCriticalRegion을 호출합니다. |
0x11B | 현재 IRQL | 0 | 0 | 드라이버는 IRQL > APC_LEVEL KeLeaveCriticalRegion을 호출합니다. |
0x120 | IRQL 값의 주소 | 대기할 개체의 주소 | 시간 제한 값의 주소 | 스레드는 IRQL > DISPATCH_LEVEL 대기합니다. KeWaitForSingleObject 또는 KeWaitForMultipleObjects의 호출자는 IRQL <= DISPATCH_LEVEL 실행해야 합니다. |
0x121 | IRQL 값의 주소 | 대기할 개체의 주소 | 시간 제한 값의 주소 | IRQL에서 스레드 대기는 DISPATCH_LEVEL 같고 시간 제한은 NULL입니다. KeWaitForSingleObject 또는 KeWaitForMultipleObjects의 호출자는 IRQL <= DISPATCH_LEVEL 실행할 수 있습니다. 시간 제한에 NULL 포인터를 제공하는 경우 호출 스레드는 Object가 신호를 수신할 때까지 대기 상태로 유지됩니다. |
0x122 | IRQL 값의 주소 | 대기할 개체의 주소 | 시간 제한 값의 주소 | 스레드는 DISPATCH_LEVEL 대기하고 시간 제한 값은 0과 같지 않습니다. Timeout != 0인 경우 KeWaitForSingleObject 또는 KeWaitForMultipleObjects의 호출자는 IRQL <= APC_LEVEL 실행해야 합니다. |
0x123 | 대기할 개체의 주소 | 0 | 0 | KeWaitForSingleObject 또는 KeWaitForMultipleObjects의 호출자는 대기를 UserMode로 지정했지만 개체는 커널 스택에 있습니다. |
0x130 | 작업 항목의 주소 | 0 | 0 | 작업 항목이 세션 주소 공간에 있습니다. 작업 항목은 다른 세션 또는 세션 가상 주소 공간이 없는 시스템 스레드에서 조작할 수 있으므로 세션 주소 공간에서 허용되지 않습니다. |
0x131 | 작업 항목의 주소 | 0 | 0 | 작업 항목이 페이지 가능한 메모리에 있습니다. 커널이 DISPATCH_LEVEL 사용하기 때문에 작업 항목은 페이지가 지정되지 않는 메모리에 있어야 합니다. |
0x135 | IRP 주소 | IoCancelIrp 호출과 이 IRP 완료 사이에 허용되는 시간(밀리초) | 0 | 취소된 IRP가 예상 시간에 완료되지 않았습니다. 드라이버가 취소된 IRP를 완료하는 데 예상보다 오래 걸렸습니다. |
0x13A | 해제되는 풀 블록의 주소 | 잘못된 값 | 잘못된 값의 주소 | 드라이버가 ExFreePool 을 호출했으며 드라이버 검증 도구는 풀 사용량을 추적하는 데 사용되는 내부 값 중 하나에서 오류를 검색합니다. |
0x13B | 해제되는 풀 블록의 주소 | 잘못된 값의 주소 | 잘못된 메모리 페이지에 대한 포인터의 주소 | 드라이버가 ExFreePool 을 호출했으며 드라이버 검증 도구는 풀 사용량을 추적하는 데 사용되는 내부 값 중 하나에서 오류를 검색합니다. |
0x13C | 해제되는 풀 블록의 주소 | 잘못된 값 | 잘못된 값의 주소 | 드라이버가 ExFreePool 을 호출했으며 드라이버 검증 도구는 풀 사용량을 추적하는 데 사용되는 내부 값 중 하나에서 오류를 검색합니다. |
0x13D | 해제되는 풀 블록의 주소 | 잘못된 값의 주소 | 예상된 올바른 값 | 드라이버가 ExFreePool 을 호출했으며 드라이버 검증 도구는 풀 사용량을 추적하는 데 사용되는 내부 값 중 하나에서 오류를 검색합니다. |
0x13E | 호출자가 지정한 풀 블록 주소 | 드라이버 검증 도구에서 추적하는 풀 블록 주소 | 드라이버 검증 도구에서 추적하는 풀 블록 주소에 대한 포인터 | ExFreePool 호출자가 지정한 풀 블록 주소는 드라이버 검증 도구에서 추적하는 주소와 다릅니다. |
0x13F | 해제되는 풀 블록의 주소 | 해제되는 바이트 수 | 드라이버 검증 도구에서 추적하는 바이트 수에 대한 포인터 | ExFreePool 호출에서 해제되는 메모리 바이트 수는 드라이버 검증 도구에서 추적하는 바이트 수와 다릅니다. |
0x140 | 현재 IRQL | MDL 주소 | 이 MDL과 연결된 가상 주소 | 잠겨 있지 않은 MDL은 페이징 가능 또는 거래 가능한 메모리에서 생성되었습니다. |
0x141 | 드라이버가 할당을 요청한 가장 높은 물리적 주소 | 할당할 바이트 수 | 0 | 드라이버는 4GB 미만의 실제 메모리를 명시적으로 요청합니다. |
0x100B 0x1000 - 교착 상태
매개 변수 1 | 매개 변수 2 | 매개 변수 3 | 매개 변수 4 | 오류 원인 |
---|---|---|---|---|
0x1000 | 리소스의 주소 | 예약됨 | 예약됨 | 자체 교착 상태: 현재 스레드는 공유만 소유하는 리소스를 재귀적으로 독점적으로 획득하려고 했습니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 교착 상태 검색 옵션이 활성화된 경우에만 발생합니다. |
0x1001 | 교착 상태의 최종 원인인 리소스의 주소 | 예약됨 | 예약됨 | 교착 상태: 잠금 계층 위반이 발견되었습니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 교착 상태 검색 옵션이 활성화된 경우에만 발생합니다. (자세한 내용은 !deadlock 확장을 사용합니다.) |
0x1002 | 리소스의 주소 | 예약됨 | 예약됨 | 초기화되지 않은 리소스: 먼저 초기화하지 않고 리소스를 획득했습니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 교착 상태 검색 옵션이 활성화된 경우에만 발생합니다. |
0x1003 | 교착 상태가 해제되는 리소스의 주소 | 먼저 릴리스되어야 하는 리소스의 주소 | 예약됨 | 예기치 않은 릴리스: 리소스가 잘못된 순서로 릴리스되었습니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 교착 상태 검색 옵션이 활성화된 경우에만 발생합니다. |
0x1004 | 리소스 주소 | 리소스를 획득한 스레드의 주소 | 현재 스레드의 주소 | 예기치 않은 스레드: 잘못된 스레드가 리소스를 해제합니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 교착 상태 검색 옵션이 활성화된 경우에만 발생합니다. |
0x1005 | 리소스 주소 | 예약됨 | 예약됨 | 여러 초기화: 리소스가 두 번 이상 초기화됩니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 교착 상태 검색 옵션이 활성화된 경우에만 발생합니다. |
0x1007 | 리소스 주소 | 예약됨 | 예약됨 | 필수 리소스: 리소스를 획득하기 전에 해제됩니다. 이 매개 변수를 사용하는 버그 검사 드라이버 검증 도구의 교착 상태 검색 옵션이 활성화된 경우에만 발생합니다. |
0x1008 | 주소 잠금 | 예약됨 | 예약됨 | 드라이버는 이 잠금 유형과 일치하지 않는 API를 사용하여 잠금을 획득하려고 했습니다. |
0x1009 | 주소 잠금 | 예약됨 | 예약됨 | 드라이버는 이 잠금 유형과 일치하지 않는 API를 사용하여 잠금을 해제하려고 했습니다. |
0x100A | 소유자 스레드 주소 | 예약됨 | 종료된 스레드는 잠금을 소유합니다. | |
0x100B | 주소 잠금 | 소유자 스레드 주소 | 예약됨 | 삭제된 잠금은 여전히 스레드가 소유하고 있습니다. |
0x1010 | Write IRP가 발급된 디바이스 개체입니다. | IRP의 주소입니다. | MDL에서 설명하는 버퍼에 대한 가상 주소를 System-Space. | 쓰기 Irp에 대한 고정 MDL 버퍼 콘텐츠가 수정되었습니다. |
0x1011 | Write IRP가 발급된 디바이스 개체입니다. | IRP의 주소입니다. | MDL에서 설명하는 버퍼에 대한 가상 주소를 System-Space. | 읽기 Irp에 대한 고정 MDL 버퍼 콘텐츠는 더미 페이지에서 백업되는 디스패치 또는 버퍼 중에 수정되었습니다. |
0x1012 | 위반을 설명하는 문자열에 대한 포인터입니다. | 이 손상과 관련된 데이터(사용되지 않는 경우 0). | 이 손상과 관련된 데이터(사용되지 않는 경우 0). | 검증 도구 확장 상태 스토리지가 손상을 감지했습니다. |
0x1013 | 드라이버 개체에 대한 포인터입니다. | 캡처된 원본 I/O 콜백에 대한 포인터입니다. | 예약됨(사용되지 않음). | 검증 도구가 캡처된 원래 I/O 콜백에서 내부 손상을 감지했습니다. |
0x2005 0x2000 - 코드 무결성 문제
매개 변수 1 | 매개 변수 2 | 매개 변수 3 | 매개 변수 4 | 오류 원인 |
---|---|---|---|---|
0x2000 | 오류가 검색된 드라이버 코드의 주소입니다. | 풀 유형입니다. | 풀 태그(제공된 경우). | 코드 무결성 문제: 호출자가 실행 가능한 풀 유형을 지정했습니다. (예상: NonPagedPoolNx) |
0x2001 | 오류가 검색된 드라이버 코드의 주소입니다. | 페이지 보호(WIN32_PROTECTION_MASK). | 0 | 코드 무결성 문제: 호출자가 실행 파일 페이지 보호를 지정했습니다. (예상: 지워진 PAGE_EXECUTE* 비트) |
0x2002 | 오류가 검색된 드라이버 코드의 주소입니다. | 페이지 우선 순위(mdlMapping*를 사용하여 논리적으로 OR'd MM_PAGE_PRIORITY). | 0 | 코드 무결성 문제: 호출자가 실행 가능한 MDL 매핑을 지정했습니다. (예상: MdlMappingNoExecute) |
0x2003 | 이미지 파일 이름(유니코드 문자열)입니다. | 섹션 헤더의 주소입니다. | 섹션 이름(UTF-8로 인코딩된 문자열)입니다. | 코드 무결성 문제: 이미지에는 실행 파일 및 쓰기 가능한 섹션이 포함되어 있습니다. |
0x2004 | 이미지 파일 이름(유니코드 문자열)입니다. | 섹션 헤더의 주소입니다. | 섹션 이름(UTF-8로 인코딩된 문자열)입니다. | 코드 무결성 문제: 이미지에 페이지가 정렬되지 않은 섹션이 포함되어 있습니다. |
0x2005 | 이미지 파일 이름(유니코드 문자열)입니다. | IAT 디렉터리. | 섹션 이름(UTF-8로 인코딩된 문자열)입니다. | 코드 무결성 문제: 이미지에는 실행 파일 섹션에 있는 IAT가 포함되어 있습니다. |
0xA00D 0xA001 - VM 스위치 문제
매개 변수 1 | 매개 변수 2 | 매개 변수 3 | 매개 변수 4 | 오류 원인 |
---|---|---|---|---|
0xA001 | NetBufferList 개체에 대한 포인터 | 가상 스위치 개체에 대한 포인터(NON-NULL인 경우) | 예약됨(사용되지 않음) | VM 스위치: 호출자 제공 NetBufferList에 대한 SourceHandle을 설정해야 합니다. AllocateNetBufferListForwardingContext 루틴을 참조하세요. |
0xA002 | NetBufferList 개체에 대한 포인터 | 가상 스위치 개체(NON-NULL인 경우)에 대한 포인터입니다. | 예약됨(사용되지 않음) | VM 스위치: 제공된 NetBufferList의 전달 세부 정보가 0이 아닌 호출자입니다. AllocateNetBufferListForwardingContext 루틴을 참조하세요. |
0xA003 | NetBufferList 개체에 대한 포인터 | 가상 스위치 개체(NON-NULL인 경우)에 대한 포인터입니다. | 예약됨(사용되지 않음) | VM 스위치: 호출자가 NULL인 패킷 헤더 또는 라우팅 컨텍스트와 함께 NetBufferList를 제공했습니다. 확장 가능한 스위치 데이터 경로는 패킷 관리 지침을 참조하세요. |
0xA004 | 잘못된 포트의 ID | NIC 인덱스 | 가상 스위치 개체(NON-NULL인 경우)에 대한 포인터입니다. | VM 스위치: 호출자가 잘못된 포트 및 NIC 인덱스 조합을 지정했습니다. Hyper-V 확장 가능한 스위치 포트 및 네트워크 어댑터 상태를 참조하세요. |
0xA005 | NetBufferList 개체에 대한 포인터 | 대상 목록에 대한 포인터입니다. | 가상 스위치 개체(NON-NULL인 경우)에 대한 포인터입니다. | VM 스위치: 호출자가 잘못된 대상을 제공했습니다. AddNetBufferListDestination 및 UpdateNetBufferListDestinations를 참조하세요. |
0xA006 | NetBufferList 개체에 대한 포인터 | 가상 스위치 개체(NON-NULL인 경우)에 대한 포인터입니다. | 예약됨(사용되지 않음) | VM 스위치: 호출자가 잘못된 원본 NIC 또는 포트 개체를 제공했습니다. Hyper-V 확장 가능한 스위치 포트 및 네트워크 어댑터 상태를 참조하세요. |
0xA007 | NetBufferList 개체에 대한 포인터 | 가상 스위치 개체(NON-NULL인 경우)에 대한 포인터입니다. | 예약됨(사용되지 않음) | VM 스위치: 호출자가 잘못된 대상 목록을 제공했습니다. AddNetBufferListDestination 및 UpdateNetBufferListDestinations를 참조하세요. |
0xA008 | 부모 NIC 개체 | NIC 인덱스 | 가상 스위치 개체(NON-NULL인 경우)에 대한 포인터입니다. | VM 스위치: 허용되지 않을 때 NIC를 참조하려고 합니다. Hyper-V 확장 가능한 스위치 포트 및 네트워크 어댑터 상태를 참조하세요. |
0xA009 | 참조되는 포트 | 가상 스위치 개체에 대한 포인터(NON-NULL인 경우) | 예약됨(사용되지 않음) | VM 스위치: 허용되지 않는 경우 포트를 참조하려고 시도합니다. Hyper-V 확장 가능한 스위치 포트 및 네트워크 어댑터 상태를 참조하세요. |
0xA00A | NetBufferList 개체에 대한 포인터 | ContextTypeInfo 개체 | 예약됨(사용되지 않음) | VM 스위치: 오류 컨텍스트가 이미 설정되어 있습니다. SetNetBufferListSwitchContext를 참조하세요. |
0xA00B | NetBufferList 개체에 대한 포인터 | NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_* | 가상 스위치 개체에 대한 포인터(NON-NULL인 경우) | VM 스위치: 삭제된 NetBufferList에 대해 잘못된 방향이 제공되었습니다. ReportFilteredNetBufferLists를 참조하세요. |
0xA00C | NetBufferList 개체에 대한 포인터 | Send Flags 값 | 가상 스위치 개체에 대한 포인터(NON-NULL인 경우) | VM 스위치: NDIS_SEND_FLAGS_SWITCH_SINGLE_SOURCE 플래그가 설정되면 NetBufferList 체인에 여러 원본 포트가 있습니다. Hyper-V 확장 가능 스위치 보내기 및 받기 플래그를 참조하세요. |
0xA00D | NetBufferList 개체에 대한 포인터 | 가상 스위치 컨텍스트에 대한 포인터 | 가상 스위치 개체에 대한 포인터(NON-NULL인 경우) | VM 스위치: NDIS_RECEIVE_FLAGS_SWITCH_DESTINATION_GROUP 플래그가 설정된 경우 체인의 하나 이상의 NetBufferLists에 잘못된 대상이 있습니다. Hyper-V 확장 가능 스위치 보내기 및 받기 플래그를 참조하세요. |
0xA00E | NetBufferLists 개체에 대한 포인터입니다. | 가상 스위치 컨텍스트에 대한 포인터입니다. | 가상 스위치 개체(NON-NULL인 경우)에 대한 포인터입니다. | VM 스위치: VMS_NBL_ROUTING_CONTEXT_FLAG_NO_WNV_PROCESSING 플래그가 설정되면 WNV를 통해 NetBufferList를 완료하려고 합니다. |
0x00020022 0x00020002 - DDI 규정 준수 규칙 위반
매개 변수 1 | 매개 변수 2 | 매개 변수 3 | 매개 변수 4 | 오류 원인 |
---|---|---|---|---|
0x00020002 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlApcLte를 위반했습니다. 규칙은 드라이버가 IRQL <= APC_LEVEL 경우에만 ObGetObjectSecurity 및 ObReleaseObjectSecurity를 호출하도록 지정합니다. |
0x00020003 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlDispatch를 위반했습니다. IrqlDispatch 규칙은 드라이버가 IRQL = DISPATCH_LEVEL 경우에만 특정 루틴을 호출하도록 지정합니다. |
0x00020004 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlExAllocatePool을 위반했습니다. IrqlExAllocatePool 규칙은 드라이버가 IRQL<=DISPATCH_LEVEL 경우에만 ExAllocatePoolWithTag 및 ExAllocatePoolWithTagPriority를 호출함을 지정합니다. |
0x00020005 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlExApcLte1을 위반했습니다. IrqlExApcLte1 규칙은 드라이버가 IRQL <= APC_LEVEL에서만 ExAcquireFastMutex 및 ExTryToAcquireFastMutex를 호출하도록 지정합니다. |
0x00020006 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlExApcLte2를 위반했습니다. IrqlExApcLte2 규칙은 드라이버가 IRQL <= APC_LEVEL 경우에만 특정 루틴을 호출하는 것을 지정합니다. |
0x00020007 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlExApcLte3을 위반했습니다. IrqlExApcLte3 규칙은 드라이버가 IRQL <= APC_LEVEL 경우에만 특정 임원 지원 루틴을 호출하도록 지정합니다. |
0x00020008 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlExPassive를 위반했습니다. IrqlExPassive 규칙은 드라이버가 IRQL = PASSIVE_LEVEL 경우에만 특정 임원 지원 루틴을 호출하도록 지정합니다. |
0x00020009 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlIoApcLte를 위반했습니다. IrqlIoApcLte 규칙은 드라이버가 IRQL <= APC_LEVEL 경우에만 특정 I/O 관리자 루틴을 호출하도록 지정합니다. |
0x0002000A | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlIoPassive1을 위반했습니다. IrqlIoPassive1 규칙은 드라이버가 IRQL = PASSIVE_LEVEL 경우에만 특정 I/O 관리자 루틴을 호출하도록 지정합니다. |
0x0002000B | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlIoPassive2를 위반했습니다. IrqlIoPassive2 규칙은 드라이버가 IRQL = PASSIVE_LEVEL 경우에만 특정 I/O 관리자 루틴을 호출하도록 지정합니다. |
0x0002000C | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlIoPassive3을 위반했습니다. IrqlIoPassive3 규칙은 드라이버가 IRQL = PASSIVE_LEVEL 경우에만 특정 I/O 관리자 루틴을 호출하도록 지정합니다. |
0x0002000D | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlIoPassive4를 위반했습니다. IrqlIoPassive4 규칙은 드라이버가 IRQL = PASSIVE_LEVEL 경우에만 특정 I/O 관리자 루틴을 호출하도록 지정합니다. |
0x0002000E | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlIoPassive5를 위반했습니다. IrqlIoPassive5 규칙은 드라이버가 IRQL = PASSIVE_LEVEL 경우에만 특정 I/O 관리자 루틴을 호출하도록 지정합니다. |
0x0002000F | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlKeApcLte1을 위반했습니다. IrqlKeApcLte1 규칙은 드라이버가 IRQL <= APC_LEVEL 경우에만 특정 커널 루틴을 호출하도록 지정합니다. |
0x00020010 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlKeApcLte2를 위반했습니다. IrqlKeApcLte2 규칙은 드라이버가 IRQL <= APC_LEVEL 경우에만 특정 커널 루틴을 호출하도록 지정합니다. |
0x00020011 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlKeDispatchLte를 위반했습니다. IrqlKeDispatchLte 규칙은 드라이버가 IRQL <= DISPATCH_LEVEL 경우에만 특정 커널 루틴을 호출하도록 지정합니다. |
0x00020015 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlKeReleaseSpinLock을 위반했습니다. IrqlKeReleaseSpinLock 규칙은 드라이버가 IRQL = DISPATCH_LEVEL 경우에만 KeReleaseSpinLock을 호출하도록 지정합니다. |
0x00020016 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlKeSetEvent를 위반했습니다. IrqlKeSetEvent 규칙은 Wait가 FALSE로 설정된 경우 IRQL <= DISPATCH_LEVEL, Wait가 TRUE로 설정된 경우 IRQL <= APC_LEVEL KeSetEvent 루틴만 호출하도록 지정합니다. |
0x00020019 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlMmApcLte를 위반했습니다. IrqlMmApcLte 규칙은 드라이버가 IRQL <= APC_LEVEL 경우에만 특정 메모리 관리자 루틴을 호출하도록 지정합니다. |
0x0002001A | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlMmDispatch를 위반했습니다. IrqlMmDispatch 규칙은 드라이버가 IRQL = DISPATCH_LEVEL 경우에만 MmFreeContiguousMemory 를 호출하도록 지정합니다. |
0x0002001B | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlObPassive를 위반했습니다. IrqlObPassive 규칙은 드라이버가 IRQL = PASSIVE_LEVEL 경우에만 ObReferenceObjectByHandle 을 호출하도록 지정합니다. |
0x0002001C | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlPsPassive를 위반했습니다. IrqlPsPassive 규칙은 드라이버가 IRQL = PASSIVE_LEVEL 경우에만 특정 프로세스 및 스레드 관리자 루틴을 호출하도록 지정합니다. |
0x0002001D | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수)입니다. | 추가 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 IrqlReturn을 위반했습니다. |
0x0002001E | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlRtlPassive를 위반했습니다. IrqlRtlPassive 규칙은 IRQL = PASSIVE_LEVEL 경우에만 드라이버가 RtlDeleteRegistryValue 를 호출하도록 지정합니다. |
0x0002001F | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 규칙 상태 변수에 대한 선택적 포인터입니다. | 예약됨 | 드라이버가 DDI 규정 준수 규칙 IrqlZwPassive를 위반했습니다. IrqlZwPassive 규칙은 드라이버가 IRQL = PASSIVE_LEVEL 경우에만 ZwClose 를 호출하도록 지정합니다. |
0x00020022 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 예약됨(사용되지 않음) | 예약됨(사용되지 않음) | 드라이버가 DDI 규정 준수 규칙 IrqlIoDispatch를 위반했습니다. |
0x00020023 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 예약됨(사용되지 않음). | 예약됨(사용되지 않음). | 드라이버가 DDI 규정 준수 규칙 IrqlIoRtlZwPassive를 위반했습니다. IrqlIoRtlZwPassive 규칙은 드라이버가 IRQL = PASSIVE_LEVEL 실행되는 경우에만 규칙에 나열된 DDI를 호출한다고 지정합니다. |
0x00020024 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 예약됨(사용되지 않음). | 예약됨(사용되지 않음). | 드라이버가 DDI 규정 준수 규칙 IrqlNtifsApcPassive를 위반했습니다. IrqlNtifsApcPassive 규칙은 드라이버가 IRQL = PASSIVE_LEVEL 또는 IRQL = APC_LEVEL 실행되는 경우에만 규칙에 나열된 DDI를 <호출한다고 지정합니다. |
0x00020025 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 예약됨(사용되지 않음). | 예약됨(사용되지 않음). | 드라이버가 Microsoft 내부 DDI 규정 준수 규칙 IrqlKeMore를 위반했습니다. |
0x00043006 0x00040003 - DDI 규정 준수 규칙 위반
매개 변수 1 | 매개 변수 2 | 매개 변수 3 | 매개 변수 4 | 오류 원인 |
---|---|---|---|---|
0x00040003 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수)입니다. | 추가 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 CriticalRegions를 위반했습니다. |
0x00040006 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수)입니다. | 추가 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 준수 규칙 QueuedSpinLock을 위반했습니다. |
0x00040007 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수)입니다. | 추가 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 준수 규칙 QueuedSpinLockRelease를 위반했습니다. |
0x00040009 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수)입니다. | 추가 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 SpinLock을 위반했습니다. |
0x0004000A | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수) | 추가 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 SpinlockRelease를 위반했습니다. |
0x0004000E | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 GuardedRegions를 위반했습니다. |
0x0004100B | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 예약됨(사용되지 않음) | 예약됨(사용되지 않음) | 드라이버가 DDI 규정 준수 규칙 RequestedPowerIrp을 위반했습니다. |
0x0004100F | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 IoSetCompletionExCompleteIrp을 위반했습니다. |
0x00043006 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 예약됨(사용되지 않음) | 예약됨(사용되지 않음) | 드라이버가 DDI 규정 준수 규칙 PnpRemove를 위반했습니다. |
0x00082005 0x00081001 - AVStream 드라이버 준수 규칙 위반
매개 변수 1 | 매개 변수 2 | 매개 변수 3 | 매개 변수 4 | 오류 원인 |
---|---|---|---|---|
0x00081001 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 KsDeviceMutex를 위반했습니다. |
0x00081002 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 KsStreamPointerClone을 위반했습니다. |
0x00081003 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 예약됨(사용되지 않음) | 예약됨(사용되지 않음) | 드라이버가 DDI 규정 준수 규칙 KsStreamPointerLock을 위반했습니다. |
0x00081004 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 KsStreamPointerUnlock을 위반했습니다. |
0x00081005 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 예약됨(사용되지 않음) | 예약됨(사용되지 않음) | 드라이버가 DDI 규정 준수 규칙 KsCallbackReturn을 위반했습니다. |
0x00081006 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 KsIrqlDeviceCallbacks를 위반했습니다. |
0x00081007 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 KsIrqlFilterCallbacks를 위반했습니다. |
0x00081008 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 KsIrqlPinCallbacks를 위반했습니다. |
0x00081009 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 예약됨(사용되지 않음) | 예약됨(사용되지 않음) | 드라이버가 DDI 규정 준수 규칙 KsIrqlDDIs를 위반했습니다. |
0x0008100A | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 KsFilterMutex를 위반했습니다. |
0x0008100B | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 KsProcessingMutex를 위반했습니다. |
0x0008100C | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 KsInvalidStreamPointer를 위반했습니다. |
0x00082001 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 KsTimedPinSetDeviceState를 위반했습니다. |
0x00082002 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 KsTimedDeviceCallbacks를 위반했습니다. |
0x00082003 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 KsTimedFilterCallbacks를 위반했습니다. |
0x00082004 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 KsTimedPinCallbacks를 위반했습니다. |
0x00082005 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 KsTimedProcessingMutex를 위반했습니다. |
0x0009400C 0x00091001 - NDIS DDI 규정 준수 규칙 위반
매개 변수 1 | 매개 변수 2 | 매개 변수 3 | 매개 변수 4 | 오류 원인 |
---|---|---|---|---|
0x00091001 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 NdisOidComplete를 위반했습니다. |
0x00091002 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 NdisOidDoubleComplete를 위반했습니다. |
0x0009100E | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 DDI 규정 준수 규칙 NdisOidDoubleRequest를 위반했습니다. |
0x00092003 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 NDIS/WIFI 확인 규칙 NdisTimedOidComplete를 위반했습니다. |
0x0009200D | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 NDIS/WIFI 확인 규칙 NdisTimedDataSend를 위반했습니다. |
0x0009200F | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 NDIS/WIFI 확인 규칙 NdisTimedDataHang을 위반했습니다. |
0x00092010 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 NDIS/WIFI 확인 규칙 NdisFilterTimedPauseComplete를 위반했습니다. |
0x00092011 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 NDIS/WIFI 확인 규칙 NdisFilterTimedDataSend를 위반했습니다. |
0x00092012 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 NDIS/WIFI 확인 규칙 NdisFilterTimedDataReceive를 위반했습니다. |
0x00093004 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 NDIS/WIFI 확인 규칙 WlanAssociation을 위반했습니다. |
0x00093005 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 NDIS/WIFI 확인 규칙 WlanConnectionRoaming을 위반했습니다. |
0x00093006 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 NDIS/WIFI 확인 규칙 WlanDisassociation을 위반했습니다. |
0x00093101 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 예약됨(사용되지 않음) | 예약됨(사용되지 않음) | 드라이버가 NDIS/WIFI 확인 규칙 WlanAssert를 위반했습니다. |
0x00094007 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 NDIS/WIFI 확인 규칙 WlanTimedAssociation을 위반했습니다. |
0x00094008 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 NDIS/WIFI 확인 규칙 WlanTimedConnectionRoaming을 위반했습니다. |
0x00094009 | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수). | 보충 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 NDIS/WIFI 확인 규칙 WlanTimedConnectRequest를 위반했습니다. |
0x0009400B | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수)입니다. | 추가 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 NDIS/WIFI 확인 규칙 WlanTimedLinkQuality를 위반했습니다. |
0x0009400C | 위반된 규칙 조건을 설명하는 문자열에 대한 포인터입니다. | 내부 규칙 상태의 주소(!ruleinfo에 대한 두 번째 인수)입니다. | 추가 상태의 주소(!ruleinfo에 대한 세 번째 인수). | 드라이버가 NDIS/WIFI 확인 규칙 WlanTimedScan을 위반했습니다. |
원인
원인에 대한 설명은 매개 변수 섹션의 각 코드 설명을 참조하세요. !analyze -v 확장을 사용하여 추가 정보를 얻을 수 있습니다.
해상도
이 버그 검사 드라이버 검증 도구가 하나 이상의 드라이버를 모니터링하라는 지시를 받은 경우에만 발생할 수 있습니다. 드라이버 검증 도구를 사용하지 않으려면 비활성화해야 합니다. 이 문제를 일으킨 드라이버를 제거하는 것도 고려할 수 있습니다.
드라이버 작성기인 경우 이 버그 검사 통해 얻은 정보를 사용하여 코드의 버그를 수정합니다.
드라이버 검증 도구에 대한 자세한 내용은 드라이버 검증 도구를 참조하세요.
설명
_POOL_TYPE 코드는 Ntddk.h에 열거됩니다. 특히 0 은 비페이지 풀을 나타내고 1(1 )은 페이징 풀을 나타냅니다.
(Windows 8 이상 버전의 Windows)DDI 규정 준수 검사로 인해 버그 검사 발생하는 경우 드라이버 소스 코드에서 정적 드라이버 검증 도구를 실행하고 버그 검사 발생시킨 DDI 준수 규칙(매개 변수 1 값으로 식별됨)을 지정합니다. 정적 드라이버 검증 도구는 소스 코드에서 문제의 원인을 찾는 데 도움이 될 수 있습니다.