Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La función KeRcuReadUnlock sale de una sección crítica de lectura de RCU (read-Copy-Update) en el dominio de RCU predeterminado que se especificó anteriormente con KeRcuReadLock.
Syntax
VOID KeRcuReadUnlock();
Valor devuelto
Ninguno
Observaciones
Esta función desancla el subproceso de llamada de su procesador, restaura el IRQL original si es necesario y realiza los informes de períodos de gracia necesarios para avanzar la sincronización de RCU.
Se debe llamar a KeRcuReadUnlock para salir de cada sección crítica del lado de lectura de RCU especificada con KeRcuReadLock. Las llamadas deben anidarse correctamente (orden LIFO) al usar secciones críticas del lado de lectura de RCU anidadas.
Después de llamar a KeRcuReadUnlock:
- El subproceso de llamada ya no está protegido de los períodos de gracia de RCU.
- Las estructuras de datos protegidas con RCU a las que se accede durante la sección crítica pueden ser aptas para la recuperación.
- El subproceso no debe seguir accediendo a datos protegidos por RCU mediante punteros obtenidos durante la sección crítica.
- El subproceso ya no está anclado a su procesador y se puede programar en diferentes procesadores.
Se puede llamar a esta función desde cualquier IRQL. La función controla automáticamente la restauración de IRQL; es decir, si el IRQL original antes del KeRcuReadLock correspondiente estaba por debajo de DISPATCH_LEVEL, se restaurará a ese nivel.
Esta función usa el dominio RCU predeterminado, lo que lo hace adecuado para casos de uso de RCU simples. Para escenarios más complejos que requieren dominios de sincronización personalizados, use KeSrcuReadUnlock con una partición SRCU explícita.
Requisitos
| Requirement | Importancia |
|---|---|
| Cliente mínimo compatible | Windows 11, versión 24H2 |
| Servidor mínimo admitido | Windows Server 2025 |
| de la plataforma de destino de | Universal |
| Header | wdm.h (incluya Wdm.h) |
| Library | NtosKrnl.lib |
| irQL | <= DISPATCH_LEVEL |