Régions critiques et régions surveillées
Un thread qui se trouve à l’intérieur d’une région critique s’exécute avec des API utilisateur et des API de noyau normales désactivées. Un thread à l’intérieur d’une région protégée s’exécute avec tous les API désactivés.
Régions critiques
Un pilote peut entrer et quitter une région critique comme suit :
Appelez KeEnterCriticalRegion pour entrer dans une région critique.
Appelez KeLeaveCriticalRegion pour quitter une région critique.
Chaque appel à KeEnterCriticalRegion doit avoir un appel correspondant à KeLeaveCriticalRegion.
Régions surveillées
Un pilote peut entrer et sortir d’une région protégée comme suit :
Appelez KeEnterGuardedRegion pour entrer dans une région protégée.
Appelez KeLeaveGuardedRegion pour quitter une région protégée.
Chaque appel à KeEnterGuardedRegion doit avoir un appel correspondant à KeLeaveGuardedRegion.
Les pilotes qui ont été développés pour Windows Server 2003 et les versions ultérieures de Windows peuvent utiliser des régions protégée pour désactiver des API de noyau spéciales. Les pilotes qui ont été développés pour des systèmes d’exploitation antérieurs peuvent désactiver des API de noyau spéciales en élevant l’IRQL actuel à APC_LEVEL en appelant KeRaiseIrql. Utilisez KeLowerIrql pour réduire l’IRQL actuel à la valeur précédente.