Kritische Regionen und geschützte Regionen

Ein Thread, der sich in einer kritischen Region befindet, wird mit deaktivierten Benutzer-APCs und normalen Kernel-APCs ausgeführt. Ein Thread innerhalb einer geschützten Region wird mit deaktivierten APCs ausgeführt.

Kritische Regionen

Ein Treiber kann einen kritischen Bereich wie folgt betreten und verlassen:

Jeder Aufruf von KeEnterCriticalRegion muss über einen übereinstimmenden Aufruf von KeLeaveCriticalRegion verfügen.

Geschützte Regionen

Ein Fahrer kann eine geschützte Region wie folgt betreten und verlassen:

Jeder Aufruf von KeEnterGuardedRegion muss über einen entsprechenden Anruf von KeLeaveGuardedRegion verfügen.

Treiber, die für Windows Server 2003 und höhere Versionen von Windows entwickelt wurden, können geschützte Regionen verwenden, um spezielle Kernel-APCs zu deaktivieren. Treiber, die für frühere Betriebssysteme entwickelt wurden, können spezielle Kernel-APCs deaktivieren, indem sie die aktuelle IRQL durch Aufrufen von KeRaiseIrql auf APC_LEVEL erhöhen. Verwenden Sie KeLowerIrql , um die aktuelle IRQL auf den vorherigen Wert zu senken.