Condividi tramite


C28112

warning C28112: Una variabile che viene acceduta tramite una funzione Interlocked deve sempre essere acceduta tramite una funzione Interlocked

Vedere il numero di linea: non è sempre sicuro accedere a variabili accedute tramite la famiglia di funzioni Interlocked* in altro modo.

Una variabile a cui si accede tramite le routine esecutive di supporto Interlocked, come InterlockedCompareExchangeAcquire, viene successivamente acceduta tramite un metodo diverso. Sebbene alcuni assegnamenti comuni, gli accessi e i confronti a variabili che sono utilizzati dalle routine di Interlocked* possano essere acceduti in modo sicuro usando un metodo diverso, il rischio è sufficiente da giustificare l'esaminazione ogni istanza.

Esempio

Il seguente codice di esempio genera questo warning:

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

L'esempio di codice seguente evita questo avviso:

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