C26111
경고 C26111: 함수 <func>를 호출하기 전에 호출자가 잠금 <lock> 해제에 실패했습니다.
주석 _Requires_lock_not_held_ 전제 조건 함수를 호출할 때 지정 된 잠금에 대 한 잠금 수 없습니다 0 보다 큰 수로 설정 합니다.경고 C26111 함수가 다른 함수를 호출 하기 전에 잠금을 해제 하지 못할 때 발생 합니다.
예제
다음 예제에서는 경고가 C26111 때문에 _Requires_lock_not_held_ 전제 조건 위반을 하 여 DoNotLock 잠긴된 영역에서 위반됩니다.
typedef struct _DATA
{
CRITICAL_SECTION cs;
int d;
} DATA;
_Requires_lock_not_held_(p->cs)
void DoNotLock(DATA* p)
{
EnterCriticalSection(&p->cs);
p->d = 0;
LeaveCriticalSection(&p->cs);
}
void LockedFunction(DATA* p)
{
EnterCriticalSection(&p->cs);
DoNotLock(p); // Warning C26111
LeaveCriticalSection(&p->cs);
}