Función InterlockedExchangePointer (wdm.h)
El InterlockedExchangePointer rutina realiza una operación atómica que establece un puntero a un nuevo valor.
Sintaxis
PVOID InterlockedExchangePointer(
[in, out] PVOID volatile *Target,
[in, optional] PVOID Value
);
Parámetros
[in, out] Target
Puntero a un valor PVOID. La rutina establece (*destino) en Value.
[in, optional] Value
Especifica el valor PVOID en el que se va a establecer (*destino).
Valor devuelto
InterlockedExchangePointer devuelve el valor original del puntero en *Destino (es decir, el valor de este puntero en la entrada a la rutina).
Observaciones
interlockedExchangePointer proporciona una manera rápida y atómica de sincronizar la actualización de una variable de puntero compartida por varios subprocesos.
interlockedExchangePointer está diseñado para la velocidad y, normalmente, un compilador implementa en línea. interlockedExchangePointer es atómica solo con respecto a otras llamadas de interbloqueadasXxx. No usa un bloqueo de número y se puede usar de forma segura en datos paginables.
El parámetro Target debe alinearse en un límite de 32 o 64 bits, según el tipo de sistema, para mejorar el rendimiento.
Una llamada a InterlockedExchangePointer solo es atómica con respecto a otras llamadas de interbloqueadasXxx.
Las operaciones interbloqueadas no se pueden usar en memoria no almacenada en caché.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Disponible a partir de Windows 2000. |
de la plataforma de destino de | Escritorio |
encabezado de | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |
irQL | Cualquier nivel |