CriticalRegions 規則 (wdm)
CriticalRegions 規則指定驅動程式必須先呼叫 KeEnterCriticalRegion,再呼叫 KeLeaveCriticalRegion,而且驅動程式會在後續呼叫 KeEnterCriticalRegion 之前呼叫 KeLeaveCriticalRegion。 允許 (巢狀呼叫。)
此規則也會指定驅動程式會呼叫 KeLeaveCriticalRegion ,以在傳回之前,將一般核心異步過程調用重新啟用傳遞 (API) 。
KeEnterCriticalRegion 和 KeLeaveCriticalRegion 的 WDK 文件說明這些函式的呼叫端可以在 IRQL<=APC_LEVEL上執行。 在此情況下,此規則會強制執行最佳做法建議。
驅動程式模型:WDM
此規則找到的錯誤檢查 () :錯誤檢查0xC4:DRIVER_VERIFIER_DETECTED_VIOLATION (0x00040003)
測試方法
在編譯時期 |
---|
執行 靜態驅動程式驗證器 並指定 CriticalRegions 規則。 使用下列步驟來執行程式碼的分析:如需詳細資訊,請參閱 使用靜態驅動程式驗證器尋找驅動程式中的瑕疵。 |
运行时 |
---|
執行 驅動程式驗證器 ,然後選取 [DDI 合規性檢查] (其他) 選項。 |
適用於
ExEnterCriticalRegionAndAcquireResourceExclusiveExReleaseResourceAndLeaveCriticalRegionKeEnterCriticalRegionKeLeaveCriticalRegion