C26110

Warnung C26110: Fehler des Aufrufers beim Aufrechterhalten der Sperre <Sperre>, bevor die Funktion <func> aufgerufen wird.

Wenn eine Sperre erforderlich ist, stellen Sie sicher, zu erläutern, dass die Funktion selbst oder sein Aufrufer die Sperre erhalten sollen.Warnung C26110 wird ausgegeben, wenn eine Verletzung der Anmerkung _Requires_lock_held_ gibt.

Beispiel

Im folgenden Beispiel wird die Warnung C26110 da die Anmerkung _Requires_lock_held_ für func Zuständen LockRequired generiert, die der Aufrufer die Sperre von LockRequired abrufen muss, bevor LockRequired aufgerufen wird.Ohne diese Anmerkung muss LockRequired die Sperre erhalten, bevor sie auf alle freigegebenen Daten zugreift, die von der Sperre geschützt werden.

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 
}