Advertencia C26112
El autor de la llamada no puede contener ningún bloqueo antes de llamar a "func".
La anotación _Requires_no_locks_held_
impone la condición previa de que el autor de la llamada no debe contener ningún bloqueo mientras llama a la función. La advertencia C26112 se emite cuando una función no libera todos los bloqueos antes de llamar a otra función.
Ejemplo
En el ejemplo siguiente se genera la advertencia C26112 porque la condición previa _Requires_no_locks_held_
se infringe en la llamada a NoLocksAllowed
dentro de la sección bloqueada.
typedef struct _DATA
{
CRITICAL_SECTION cs;
} DATA;
_Requires_no_locks_held_
void NoLocksAllowed(DATA* p)
{
// Lock sensitive operations here
}
void LocksHeldFunction(DATA* p)
{
EnterCriticalSection(&p->cs);
NoLocksAllowed(p); // Warning C26112
LeaveCriticalSection(&p->cs);
}
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de