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