| description | Learn more about: C26101 | |
|---|---|---|
| title | C26101 | |
| ms.date | 11/04/2016 | |
| ms.topic | reference | |
| f1_keywords |
|
|
| helpviewer_keywords |
|
|
| ms.assetid | 86046553-09ec-40ce-82b3-fd641928f0b0 |
warning C26101: Failing to use interlocked operation properly for variable <var>.
Windows APIs offer a variety of interlocked operations. Annotation _Interlocked_ specifies that a variable should only be accessed through an interlocked operation. Warning C26101 is issued when an access is not consistent with the _Interlocked_ annotation.
The following example generates warning C26101 because there is a violation of the _Interlocked_ contract.
CRITICAL_SECTION cs;
typedef struct _DATA
{
_Interlocked_ LONG data;
} DATA;
void Safe(DATA* p)
{
InterlockedIncrement(&p->data); // OK
}
void Unsafe(DATA* p)
{
p->data += 1; // Warning C26101
EnterCriticalSection(&cs);
LeaveCriticalSection(&cs);
}