Sdílet prostřednictvím


C26110

upozornění C26110: volající nedaří držet zámek <lock> Před voláním funkce <func>.

Uzamčení je požadováno, zkontrolujte vyjasnit, zda samotná funkce nebo volajícího měla získat zámek.Vydání C26110 upozornění při narušení _Requires_lock_held_ poznámky.

Příklad

V následujícím příkladu je generována upozornění C26110, protože poznámku _Requires_lock_held_ na funkci LockRequired uvádí, že volající LockRequired musíte získat zámek před zavolá LockRequired.Bez této poznámky LockRequired se získat zámek před má přístup ke sdílené data chráněna zámku.

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 
}