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