Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
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