다음을 통해 공유


C26111

경고 C26111: 호출자가 <lock> 잠금을 해제 하지 못했습니다. <func> 함수를 호출 하기 전에.

주석 _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);
}