Función InterlockedExchange (miniport.h)

La rutina InterlockedExchange establece una variable entera en un valor determinado como una operación atómica.

Sintaxis

LONG InterlockedExchange(
  [in, out] LONG volatile *Target,
  [in]      LONG          Value
);

Parámetros

[in, out] Target

Puntero a una variable que se va a establecer en el valor proporcionado como una operación atómica.

[in] Value

Especifica el valor al que se establecerá la variable.

Valor devuelto

InterlockedExchange devuelve el valor de la variable en Target cuando se produjo la llamada.

Comentarios

InterlockedExchange debe usarse en lugar de ExInterlockedExchangeUlong, ya que es más rápido y eficaz.

El compilador implementa InterlockedExchange en línea cuando sea adecuado y posible. No requiere un bloqueo de número y, por tanto, se puede usar de forma segura en datos paginables.

Una llamada a la rutina InterlockedExchange solo es atómica con respecto a otras llamadas Xxx interbloqueadas.

Las operaciones interbloqueadas no se pueden usar en memoria no almacenada en caché.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 2000.
Plataforma de destino Universal
Encabezado miniport.h (incluya Wdm.h, Ntddk.h, Ntifs.h, Miniport.h)
Library OneCoreUAP.lib en Windows 10
IRQL Cualquier nivel

Consulte también

ExInterlockedAddLargeInteger

ExInterlockedAddUlong

InterlockedDecrement

InterlockedIncrement