共用方式為


CriticalRegions 規則 (wdm)

CriticalRegions 規則指定驅動程式必須先呼叫 KeEnterCriticalRegion,再呼叫 KeLeaveCriticalRegion,而且驅動程式會在後續呼叫 KeEnterCriticalRegion 之前呼叫 KeLeaveCriticalRegion 允許 (巢狀呼叫。)

此規則也會指定驅動程式會呼叫 KeLeaveCriticalRegion ,以在傳回之前,將一般核心異步過程調用重新啟用傳遞 (API) 。

KeEnterCriticalRegionKeLeaveCriticalRegion 的 WDK 文件說明這些函式的呼叫端可以在 IRQL<=APC_LEVEL上執行。 在此情況下,此規則會強制執行最佳做法建議。

驅動程式模型:WDM

此規則找到的錯誤檢查 () :錯誤檢查0xC4:DRIVER_VERIFIER_DETECTED_VIOLATION (0x00040003)

測試方法

在編譯時期

執行 靜態驅動程式驗證器 並指定 CriticalRegions 規則。

使用下列步驟來執行程式碼的分析:
  1. 準備程式代碼 (使用角色類型宣告) 。
  2. 執行靜態驅動程式驗證程式。
  3. 檢視和分析結果。

如需詳細資訊,請參閱 使用靜態驅動程式驗證器尋找驅動程式中的瑕疵

运行时

執行 驅動程式驗證器 ,然後選取 [DDI 合規性檢查] (其他) 選項。

適用於

ExEnterCriticalRegionAndAcquireResourceExclusiveExReleaseResourceAndLeaveCriticalRegionKeEnterCriticalRegionKeLeaveCriticalRegion