C26115
경고 C26115: 함수 <func>에서 잠금<lock>을 해제하지 못했습니다.
구문으로 범위가 지정된 취득 잠금 그리고 릴리스 쌍에서 C/C++ 프로그램은 언어에 의해 수행 되지 않습니다.함수는 잠금 부작용 동시성 상태를 크게 수정하여 발생할 수 있습니다.예를 들어, 잠금 래퍼 함수 개수를 잠금 합병 또는 지정 잠금의 잠금 횟수를 증가 시킵니다.
부작용을 갖는 잠금 획득 또는 릴리스를 사용하여 잠금 함수에서 _Acquires_lock_ 또는 _Releases_lock_ , 각각 이용해서 주석을 달 수 있습니다.이러한 주석 없이 함수가 반환 된 후 모든 잠금 수를 바꿀 수 없게 발생 합니다.획득 및 릴리스 되지 않는 경우, 고아로 간주됩니다.경고 C26115 함수를 분리 된 잠금이 소개 될 때 발생 합니다.
예제
다음 예제에서는 경고가 C26115 함수를 사용하여 주석이 지정 되지 않은 분리 된 잠금이 있기 때문에 _Acquires_lock_ 에는 주석이 지정되지 않습니다.
typedef struct _DATA
{
CRITICAL_SECTION cs;
} DATA;
void FailToReleaseLock(int flag, DATA* p)
{
EnterCriticalSection(&p->cs);
if (flag)
return; // Warning C26115
LeaveCriticalSection(&p->cs);
}