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