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