Función KeEnterCriticalRegion (ntddk.h)
El KeEnterCriticalRegion rutina deshabilita temporalmente la ejecución de las API de kernel normales, pero no impide que se ejecuten las API de kernel especiales.
Sintaxis
void KeEnterCriticalRegion();
Valor devuelto
Ninguno
Observaciones
Un controlador llama a esta rutina para especificar una región crítica en la que la ejecución de las API de kernel normales se aplaza hasta que este controlador sale de la región crítica llamando a la rutina de 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, se pueden usar las rutinas ExEnterCriticalRegionAndAcquireResourceExclus ive y ExReleaseResourceAndLeaveCriticalRegion en lugar de las rutinas de KeEnterCritical Region 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, consulte llamadas a procedimientos asincrónicos.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible a partir de Windows 2000. |
de la plataforma de destino de | Universal |
encabezado de | ntddk.h (incluya Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca de | NtosKrnl.lib |
DLL de | NtosKrnl.exe |
irQL | <= APC_LEVEL |
reglas de cumplimiento de DDI | CriticalRegions(wdm), HwStorPortProhibitedDIs(storport), IrqlKeApcLte2(wdm), WithinCriticalRegion(storport), WithinCriticalRegion(storport), WithinCriticalRegion(wdm) |
Consulte también
exEnterCriticalRegionAndAcquireResourceExclusive