경고 C26111
호출자가 함수 'func'를 호출하기 전에 잠금 'lock'을 해제하지 못했습니다.
주석 _Requires_lock_not_held_
은 함수가 호출될 때 지정된 잠금의 잠금 수가 0보다 클 수 없다는 전제 조건을 적용합니다. 다른 함수를 호출하기 전에 함수가 잠금을 해제하지 못할 경우 경고 C26111이 발생합니다.
예시
다음 예제에서는 잠긴 섹션 내에서 _Requires_lock_not_held_
에 대한 호출로 인해 DoNotLock
사전 조건이 위반되기 때문에 경고 C26111이 발생합니다.
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);
}
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기