Warnung C26110
Der Aufrufer hat vor dem Aufrufen der Funktion "func" die Sperre nicht gedrückt.
Wenn eine Sperre erforderlich ist, müssen Sie sicherstellen, ob die Funktion selbst oder der Aufrufer die Sperre abrufen soll. Warnung C26110 wird ausgegeben, wenn eine Verletzung der _Requires_lock_held_
Anmerkung oder andere sperrbezogene Anmerkungen vorliegt. Weitere Informationen finden Sie unter Annotating Locking Behavior
Beispiel
Im folgenden Beispiel wird die Warnung C26110 generiert, da die Anmerkung _Requires_lock_held_
für die Funktion LockRequired
besagt, dass der Aufrufer LockRequired
die Sperre vor dem Aufrufen LockRequired
abrufen muss. Ohne diese Anmerkung muss die Sperre erworben werden, bevor sie auf freigegebene Daten zugreift, LockRequired
die durch die Sperre geschützt sind.
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
}