Aracılığıyla paylaş


C28112

Uyarı C28112: Bir kilit arası işlev ile erişilen bir değişkene her zaman bir kilit arası işlev ile erişilmelidir.

Bir çizgi sayısı: her zaman güvenli bir şekilde herhangi bir yolla fonksiyonların kilitli ailesi üzerinden erişilebilen bir değişkene erişilemez.

InterlockedCompareExchangeAcquire gibi kilitli yürütme destek yordamlarını kullanarak erişilen bir değişken, sonrasında farklı bir yöntemle erişilir. Kesin sıradan atamalar, erişimler ve değişkenlerle karşılaştırmalar Interlocked yordamı tarafından farklı bir yöntem ile güvenli bir şekilde erişir, risk yeteri her bir örneği haklı çıkaracak kadar büyüktür.

Örnek

Bu kod, aşağıdaki C# uyarısını oluşturur:

inter_var --;
...
InterlockedIncrement(&inter_var);

Aşağıdaki kod örneği, bu uyarıyı önler:

InterlockedDecrement(&inter_var);
...
InterlockedIncrement(&inter_var);