Sdílet prostřednictvím


C28113

upozornění C28113: Přístup k místní proměnné prostřednictvím funkce Interlocked

Ovladač je pomocí rutiny výkonnou podporu Interlocked jako InterlockedDecrement, chcete-li získat přístup k místní proměnné.

Ačkoli ovladače jsou oprávněni předat adresu místní proměnné pro jinou funkci a poté použít šachtu funkce pracovat na proměnné, je důležité ověřit, že je nebude zásobníku odložit na disk neočekávaně a který má proměnná správné životnosti přes všechna vlákna, které mohou použít.

Příklad

Vrácená hodnota rutiny Interlocked výkonnou podporu se obvykle používá v následné výpočty místo vstupní argumenty.Také rutin Interlocked chránit pouze první argument (vlevo).Pomocí rutiny Interlocked následujícím způsobem nechrání hodnotu globální a často slouží žádný smysl.

InterlockedExchange(&local, global)

Následující formulář má stejný účinek na data a bezpečně přistupuje ke globální proměnné.

local = InterllockedExchange(&global, global)