C26166

Note

This article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, see Visual Studio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here

warning C26166: Possibly failing to acquire or to hold lock <lock> in function <func>.

Warning C26166 resembles warning C26116 except that the confidence level is lower. For example, the function may contain annotation errors.

Example

The following code shows code that will generate warning C26166.

  
typedef struct _DATA {   
CRITICAL_SECTION cs;   
} DATA;   
  
_Acquires_lock_(p->cs) void Enter(DATA* p) {   
    EnterCriticalSection(&p->cs); // OK   
}   
  
_Acquires_lock_(p->cs) void BAD(DATA* p) {} // Warning C26166