Función KeEnterCriticalRegion (ntddk.h)

La rutina KeEnterCriticalRegion deshabilita temporalmente la ejecución de las API de kernel normales, pero no impide que se ejecuten API de kernel especiales.

Sintaxis

void KeEnterCriticalRegion();

Valor devuelto

None

Observaciones

Un controlador llama a esta rutina para entrar en una región crítica en la que se aplaza la ejecución de las API de kernel normales hasta que este controlador sale de la región crítica mediante una llamada a la rutina KeLeaveCriticalRegion . Cualquier autor de llamada de KeEnterCriticalRegion debe llamar a KeLeaveCriticalRegion lo antes posible después de entrar en una región crítica.

Los controladores de nivel superior pueden llamar a KeEnterCriticalRegion mientras se ejecuta en el contexto del subproceso que solicitó la operación de E/S actual.

Un subproceso que se encuentra dentro de una región crítica tiene las API de usuario y las API de kernel normales deshabilitadas, pero no las API de kernel especiales. Para obtener más información sobre estos tipos de APC, consulte Tipos de API.

Las regiones críticas se pueden especificar de forma recursiva y cada llamada a KeEnterCriticalRegion debe tener una llamada coincidente a KeLeaveCriticalRegion.

Un controlador puede usar una región crítica para adquirir y liberar acceso exclusivo a un recurso compartido. En este caso, las rutinas ExEnterCriticalRegionAndAcquireResourceExclusive y ExReleaseResourceAndLeaveCriticalRegion se pueden usar en lugar de las rutinas KeEnterCriticalRegion y KeLeaveCriticalRegion . Para obtener más información, vea el ejemplo de código en ExEnterCriticalRegionAndAcquireResourceExclusive.

Para obtener más información sobre las API, vea Llamadas a procedimientos asincrónicos.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado ntddk.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL
Reglas de cumplimiento de DDI CriticalRegions(wdm), HwStorPortProhibitedDDIs(storport), IrqlKeApcLte2(wdm), WithinCriticalRegion(storport), WithinCriticalRegion(storport), WithinCriticalRegion(wdm)

Consulte también

ExEnterCriticalRegionAndAcquireResourceExclusive

ExReleaseResourceAndLeaveCriticalRegion

KeAreApcsDisabled

KeLeaveCriticalRegion