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:
Rufen Sie KeEnterCriticalRegion auf, um in eine kritische Region zu gelangen.
Rufen Sie KeLeaveCriticalRegion auf, um eine kritische Region zu 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:
Rufen Sie KeEnterGuardedRegion auf, um in eine bewachte Region zu gelangen.
Rufen Sie KeLeaveGuardedRegion auf, um eine überwachte Region zu 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.