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 :

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 :

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.