경고 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);
}
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기