Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Failing to use interlocked operation properly for variable 'var'.
Remarks
Windows APIs offer various interlocked operations. Annotation _Interlocked_ specifies that a variable should only be accessed through an interlocked operation. Warning C26101 is issued when a variable access isn't consistent with the _Interlocked_ annotation.
Example
The following example generates warning C26101 because there's 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);
}