C26101

警告 C26101: 使用正确的变量 <var> 互锁的操作失败。

Windows Api 提供了多种联锁操作。 注释_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);
}