Udostępnij za pośrednictwem


C26101

Ostrzeżenie C26101: niepowodzenie poprawnego użycia operacji blokujących dla zmiennej <var>.

Interfejsy Windows API oferują różne operacje blokujące.Adnotacja _Interlocked_ określa, że zmienna powinna być uzyskiwana tylko za pośrednictwem operacji blokujących.Ostrzeżenie C26101 jest wydane, gdy dostęp nie jest zgodny z adnotacją _Interlocked_.

Przykład

Poniższy przykład generuje ostrzeżenie C26101, ponieważ został w nim naruszony kontrakt _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);
}