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
}