CriticalRegions-Regel (wdm)

Die CriticalRegions-Regel gibt an, dass der Treiber KeEnterCriticalRegion aufrufen muss, bevor Er KeLeaveCriticalRegion aufruft , und dass der Treiber KeLeaveCriticalRegion vor allen nachfolgenden Aufrufen von KeEnterCriticalRegion aufruft. (Geschachtelte Aufrufe sind zulässig.)

Diese Regel gibt auch an, dass der Treiber KeLeaveCriticalRegion aufruft , um die Übermittlung normaler asynchroner Kernelprozeduraufrufe (APCs) wieder zu aktivieren, bevor sie zurückgegeben wird.

In der WDK-Dokumentation von KeEnterCriticalRegion und KeLeaveCriticalRegion wird erläutert, dass der Aufrufer dieser Funktionen unter IRQL<=APC_LEVEL ausgeführt werden kann. In dieser Situation erzwingt diese Regel eine Empfehlung für bewährte Methoden.

Treibermodell: WDM

Fehlerüberprüfungen mit dieser Regel gefunden: Fehlerüberprüfung 0xC4: DRIVER_VERIFIER_DETECTED_VIOLATION (0x00040003)

So führen Sie einen Test durch

Beim Kompilieren:

Führen Sie Static Driver Verifier aus , und geben Sie die CriticalRegions-Regel an.

Gehen Sie folgendermaßen vor, um Ihren Code zu analysieren:
  1. Bereiten Sie den Code vor (verwenden Sie Rollentypdeklarationen).
  2. Führen Sie Static Driver Verifier aus.
  3. Überprüfen und analysieren Sie die Ergebnisse.

Weitere Informationen finden Sie unter Verwenden der statischen Treiberüberprüfung, um Fehler in Treibern zu finden.

Zur Laufzeit

Führen Sie Driver Verifier aus, und wählen Sie die Option DDI-Konformitätsüberprüfung (zusätzlich) aus.

Gilt für:

ExEnterCriticalRegionAndAcquiresourceExclusiveExReleaseResourceAndLeaveCriticalRegionKeEnterCriticalRegionKeLeaveCriticalRegion KeLeaveCriticalRegion