クリティカル領域と保護された領域

クリティカル領域内にあるスレッドは、ユーザー APC と通常のカーネル APC が無効になっている状態で実行されます。 保護された領域内のスレッドは、すべての APC が無効な状態で実行されます。

クリティカル領域

ドライバーは、次の方法でクリティカル領域に出入りできます。

KeEnterCriticalRegion の各呼び出しには、対応する KeLeaveCriticalRegion への呼び出しが必要です。

保護された領域

ドライバーは、次の方法で保護された領域との間を遷移できます。

KeEnterGuardedRegion への各呼び出しには、KeLeaveGuardedRegion への一致する呼び出しが必要です。

Windows Server 2003 以降のバージョンの Windows 用に開発されたドライバーでは、保護された領域を使用して特殊なカーネル API を無効にすることができます。 それより前のオペレーティング システム用に開発されたドライバーは、KeRaiseIrql を呼び出して現在の IRQL を APC_LEVEL に上げることで、特殊なカーネル API を無効にすることができます。 現在の IRQL を前の値に下げるには、KeLowerIrql を使用します。