Sdílet prostřednictvím


C26112

upozornění C26112: volající nemůže obsahovat žádné uzamčení před voláním <func>.

Poznámka _Requires_no_locks_held_ ukládá předpoklad, že volající musí není podržte jakékoli lock volá funkci.Upozornění C26112 je vystaven při selhání funkce uvolnit všechny zámky před volá jiné funkce.

Příklad

Následující příklad generuje varování C26112, protože _Requires_no_locks_held_ předpokladem je porušován voláním NoLocksAllowed do uzamčené sekce.

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);
}