Función InterlockedExchangePointer (winnt.h)
Intercambia de forma atómica un par de direcciones.
Sintaxis
PVOID InterlockedExchangePointer(
[in, out] PVOID volatile *Target,
[in] PVOID Value
);
Parámetros
[in, out] Target
Puntero a la dirección que se va a intercambiar. La función establece la dirección a la que apunta el parámetro
[in] Value
Dirección a la que se va a intercambiar la dirección a la que apunta el parámetro target de
Valor devuelto
La función devuelve la dirección inicial a la que apunta el parámetro
Observaciones
Esta función copia la dirección que se pasa como segundo parámetro al primero y devuelve la dirección original del primero.
En un sistema de 64 bits, los parámetros son de 64 bits y el parámetro Target debe alinearse en límites de 64 bits; de lo contrario, la función se comportará de forma impredecible. En un sistema de 32 bits, los parámetros son de 32 bits y el parámetro Target debe alinearse en límites de 32 bits.
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 _InterlockedExchangePointer.
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: Para aplicaciones críticas para el rendimiento, use interlockedExchangePointerAcquire en su lugar.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows XP [aplicaciones de escritorio | Aplicaciones para UWP] |
servidor mínimo admitido | Windows Server 2003 [aplicaciones de escritorio | Aplicaciones para UWP] |
de la plataforma de destino de |
Windows |
encabezado de |
winnt.h (incluya Windows.h) |
Consulte también
de acceso a variables interbloqueadas
interlockedExchangePointerAcquire