CriticalRegions 규칙(wdm)
CriticalRegions 규칙은 KeLeaveCriticalRegion을 호출하기 전에 드라이버가 KeEnterCriticalRegion을 호출해야 하며, 이후에 KeEnterCriticalRegion을 호출하기 전에 드라이버가 KeLeaveCriticalRegion을 호출하도록 지정합니다. (중첩된 호출은 허용됩니다.)
또한 이 규칙은 드라이버가 KeLeaveCriticalRegion 을 호출하여 반환하기 전에 일반 커널 비동기 프로시저 호출(APC)의 배달을 다시 사용하도록 설정하도록 지정합니다.
KeEnterCriticalRegion 및 KeLeaveCriticalRegion의 WDK 설명서에서는 이러한 함수의 호출자가 IRQL<=APC_LEVEL 실행할 수 있다고 설명합니다. 이 경우 이 규칙은 모범 사례 권장 사항을 적용합니다.
드라이버 모델: WDM
버그 확인: 버그 확인 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION(0x00040003 )
테스트 방법
| 컴파일 시 |
|---|
정적 드라이버 검증 도구를 실행하고 CriticalRegions 규칙을 지정합니다. 다음 단계를 사용하여 코드 분석을 실행합니다. |
| 런타임 시 |
|---|
드라이버 검증 도구를 실행하고 DDI 준수 확인(추가) 옵션을 선택합니다. |
적용 대상
ExEnterCriticalRegionAndAcquireResourceExclusiveExReleaseResourceAndLeaveCriticalRegionKeEnterCriticalRegionKeLeaveCriticalRegion