Compartir a través de


Función InterlockedXor (winnt.h)

Realiza una operación XOR atómica en los valores LONG especificados. La función impide que más de un subproceso use la misma variable simultáneamente.

Sintaxis

LONG InterlockedXor(
  [in, out] LONG volatile *Destination,
  [in]      LONG          Value
);

Parámetros

[in, out] Destination

Puntero al primer operando. Este valor se reemplazará por el resultado de la operación.

[in] Value

Segundo operando.

Valor devuelto

La función devuelve el valor original del parámetro Destination .

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.

Para los sistemas basados en Intel Itanium y las arquitecturas x64, esta función se implementa mediante el intrínseco del compilador. Para la arquitectura x86, use directamente el _InterlockedXor intrínseco del compilador.

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

Sistemas basados en Itanium: En el caso de las aplicaciones críticas para el rendimiento, use InterlockedXorAcquire o InterlockedXorRelease en su lugar.

Nota Esta función es compatible con sistemas basados en Windows RT.
 

Requisitos

   
Plataforma de destino Windows
Encabezado winnt.h (incluye Windows.h)

Consulte también

Acceso a variables interbloqueadas

InterlockedXor16

InterlockedXor16Acquire

InterlockedXor16NoFence

InterlockedXor16Release

InterlockedXor64

InterlockedXor64Acquire

InterlockedXor64NoFence

InterlockedXor64Release

InterlockedXor8

InterlockedXor8Acquire

InterlockedXor8NoFence

InterlockedXor8Release

InterlockedXorAcquire

InterlockedXorNoFence

InterlockedXorRelease

Funciones de sincronización