Критические и защищенные регионы
Поток, который находится в критическом регионе , выполняется с пользовательскими APC и обычными APC ядра отключены. Поток в защищенном регионе выполняется со всеми отключенными APC.
Критические регионы
Драйвер может войти в критически важный регион и выйти из нее следующим образом:
Вызовите KeEnterCriticalRegion , чтобы войти в критический регион.
Вызовите KeLeaveCriticalRegion , чтобы выйти из критического региона.
Каждый вызов KeEnterCriticalRegion должен иметь соответствующий вызов KeLeaveCriticalRegion.
Защищенные регионы
Драйвер может войти в защищенную область и выйти из нее следующим образом:
Вызовите KeEnterGuardedRegion , чтобы войти в защищенный регион.
Вызовите KeLeaveGuardedRegion , чтобы покинуть защищенный регион.
Каждый вызов KeEnterGuardedRegion должен иметь соответствующий вызов KeLeaveGuardedRegion.
Драйверы, разработанные для Windows Server 2003 и более поздних версий Windows, могут использовать защищенные регионы для отключения специальных api-интерфейсов ядра. Драйверы, разработанные для более ранних операционных систем, могут отключать специальные APC ядра, повышая текущее значение IRQL до APC_LEVEL путем вызова KeRaiseIrql. Используйте KeLowerIrql , чтобы уменьшить текущее значение IRQL до предыдущего.