Share via


C26112

경고 C26112: <func>를 호출하기 전에 호출자가 잠금을 유지할 수 없습니다.

주석 _Requires_no_locks_held_ 호출자가 함수를 호출 하는 동안 모든 잠금을 유지 하지 해야 전제 조건 부과 합니다.경고 C26112 함수가 다른 함수를 호출 하기 전에 모든 잠금을 해제 하지 못할 때 발생 합니다.

예제

다음 예제에서는 경고가 C26112 때문에 _Requires_no_locks_held_ 전제 조건 위반을 하 여 NoLocksAllowed 잠긴된 영역에서 위반됩니다.

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