Предупреждение C26101

Не удалось правильно использовать переблокированную операцию для переменной var.

API Windows предлагают различные операции с блокировкой. Примечания _Interlocked_ указывает, что к переменной следует обращаться только через переблокированную операцию. Предупреждение C26101 выдается, если доступ к переменной не согласуется с заметкой _Interlocked_ .

Пример

В следующем примере создается предупреждение C26101, так как _Interlocked_ контракт нарушается.

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);
}