다음을 통해 공유


C26110

경고 C26110: <lock> 잠금을 보유 하는 데 실패 호출자 <func> 함수를 호출 하기 전에.

잠금이 필요 하지 않으면 함수 자체 또는 해당 호출자가 잠금을 얻어야 합니다 여부를 명확 하 게 설명 해야 합니다.경고 C26110 발급 위반의 경우는 _Requires_lock_held_ 주석.

예제

다음 예제에서는 C26110 경고 하기 때문에 발생 주석 _Requires_lock_held_ 함수에서 LockRequired 없다는 호출자의 LockRequired 호출 하기 전에 잠금을 얻어야 합니다 LockRequired.이 주석 없이 LockRequired 이 잠금에 의해 보호 되는 공유 데이터에 액세스 하기 전에 해당 잠금을 얻으려고 했습니다.

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 
}