Compartir a través de


C28112

advertencia C28112: Una variable a la que se tiene acceso a través de una función Interlocked siempre debe obtenerse acceso a través de una función Interlocked

Consulte la línea número: No siempre es seguro obtener acceso de otro modo a una variable a la que se tiene acceso a través de la familia de funciones Interlocked*.

Una variable a la que obtiene acceso mediante rutinas de apoyo ejecutivas de Interlocked, como InterlockedCompareExchangeAcquire, se tiene acceso después con un método diferente. Aunque determinadas asignaciones normales, accesos y comparaciones con las variables utilizadas por las rutinas de Interlocked* se pueden lograr con seguridad con un método diferente, el riesgo es lo suficientemente grande como para justificar la verificación de cada versión.

Ejemplo

El siguiente ejemplo de código genera la advertencia:

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

El siguiente ejemplo de código evita la advertencia:

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