Avertissement C26112
L’appelant ne peut pas contenir de verrou avant d’appeler « func ».
L’annotation _Requires_no_locks_held_
impose une condition préalable que l’appelant ne doit contenir aucun verrou pendant qu’il appelle la fonction. Avertissement C26112 est émis lorsqu’une fonction ne parvient pas à libérer tous les verrous avant d’appeler une autre fonction.
Exemple
L’exemple suivant génère l’avertissement C26112, car la _Requires_no_locks_held_
condition préalable est violée par l’appel à NoLocksAllowed
la section verrouillée.
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);
}
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour