Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Export (0) Print
Expand All
Expand Minimize

C26101

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);
}
Show:
© 2015 Microsoft