C26110
avertissement C26110 : L'appellant n'as pas réussi à garder le vérou <lock> avant l'appel de la fonction <func>.
Lorsqu'un verrou est requis, veillez à clarifier si la fonction elle-même ou son appelant doit acquérir le verrou.L'avertissement C26110 est émis lors d'une violation de l'annotation _Requires_lock_held_ .
Exemple
Dans l'exemple suivant, l''avertissement C26110 est généré car l'annotation _Requires_lock_held_ sur la fonction LockRequired indique que l'appelant de LockRequired doit acquérir le verrou avant d'appeler LockRequired.Sans cette annotation, LockRequired doit acquérir le verrou avant d'accéder à toutes les données partagées protégées par le verrou.
typedef struct _DATA
{
CRITICAL_SECTION cs;
int d;
} DATA;
_Requires_lock_held_(p->cs)
void LockRequired(DATA* p)
{
p->d = 0;
}
void LockNotHeld(DATA* p)
{
LockRequired(p); // Warning C26110
}