C26166

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at C26166.

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.

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  
  

Show: