Función InterlockedExchange8 (winnt.h)

Establece una variable de 8 bits en el valor especificado como una operación atómica.

Para operar en una variable de puntero, use la función InterlockedExchangePointer .

Para operar en una variable de 16 bits, use la función InterlockedExchange16 .

Para funcionar en una variable de 32 bits, use la función InterlockedExchange .

Para funcionar en una variable de 64 bits, use la función InterlockedExchange64 .

Sintaxis

CHAR InterlockedExchange8(
  [in, out] CHAR volatile *Target,
  [in]      CHAR          Value
);

Parámetros

[in, out] Target

Puntero al valor que se va a intercambiar. La función establece esta variable en Value y devuelve su valor anterior.

[in] Value

Valor que se va a intercambiar con el valor al que apunta Target.

Valor devuelto

La función devuelve el valor inicial del parámetro Target .

Comentarios

Las funciones interbloqueadas proporcionan un mecanismo sencillo para sincronizar el acceso a una variable compartida por varios subprocesos. Esta función es atómica con respecto a las llamadas a otras funciones interbloqueadas.

Esta función se implementa mediante un intrínseco del compilador siempre que sea posible. Para obtener más información, vea el archivo de encabezado WinBase.h y _InterlockedExchange8.

Esta función genera una barrera de memoria completa (o cerca) para asegurarse de que las operaciones de memoria se completan en orden.

Nota Esta función se admite en sistemas basados en Windows RT.
 

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8 [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows Server 2012 [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado winnt.h (incluya Windows.h)

Consulte también

Acceso a variables interbloqueados

InterlockedCompareExchange

InterlockedExchange

InterlockedExchange16

InterlockedExchange16Acquire

InterlockedExchange16NoFence

InterlockedExchange64

InterlockedExchangeAcquire

InterlockedExchangeAcquire64

InterlockedExchangeAdd

InterlockedExchangeNoFence

InterlockedExchangeNoFence64

InterlockedExchangePointer

InterlockedExchangePointerAcquire

InterlockedExchangePointerNoFence

InterlockedExchangeSubtract

Funciones de sincronización