C28112C28112

Advertencia C28112: una variable que se obtiene acceso a través de una función Interlocked siempre debe obtenerse a través de una función Interlockedwarning C28112: A variable which is accessed via an Interlocked function must always be accessed via an Interlocked function

Ver línea número: no siempre es seguro tener acceso a una variable que se obtiene acceso a través de la familia Interlocked * de funciones de cualquier otra forma.See line number: It is not always safe to access a variable which is accessed via the Interlocked* family of functions in any other way.

Una variable que se tiene acceso mediante el uso de las rutinas de soporte ejecutivo Interlocked, como InterlockedCompareExchangeAcquire, más adelante se accede mediante un método diferente. Aunque determinadas asignaciones normales, accesos y las comparaciones con variables que se utilizan por las rutinas Interlocked * pueden obtenerse de forma segura mediante el uso de un método diferente, el riesgo es lo suficientemente grande como para justificar examinando cada instancia.A variable that is accessed by using the Interlocked executive support routines, such as InterlockedCompareExchangeAcquire, is later accessed by using a different method.Although certain ordinary assignments, accesses, and comparisons to variables that are used by the Interlocked* routines can be safely accessed by using a different method, the risk is great enough to justify examining each instance.

EjemploExample

El siguiente código de ejemplo genera esta advertencia:The following code example generates this warning:

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

El siguiente código de ejemplo evita esta advertencia:The following code example avoids this warning:

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