C26101
предупреждение 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);
}