Función InterlockedExchangeAdd (miniport.h)

La rutina InterlockedExchangeAdd agrega un valor a un entero determinado como una operación atómica y devuelve el valor original del entero especificado.

Sintaxis

LONG InterlockedExchangeAdd(
  [in, out] LONG volatile *Addend,
  [in]      LONG          Value
);

Parámetros

[in, out] Addend

Puntero a una variable de entero.

[in] Value

Especifica el valor que se va a agregar a Addend.

Valor devuelto

InterlockedExchangeAdd devuelve el valor original de la variable Addend cuando se produjo la llamada.

Comentarios

InterlockedExchangeAdd debe usarse en lugar de ExInterlockedAddUlong porque es más rápido y eficaz.

InterlockedExchangeAdd lo implementa el compilador cuando sea adecuado y posible. No requiere un bloqueo de número y, por tanto, se puede usar de forma segura en datos paginables.

InterlockedExchangeAdd 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 (include Wdm.h, Ntddk.h, Ntifs.h, Miniport.h)
Library OneCoreUAP.lib en Windows 10
IRQL Cualquier nivel

Consulte también

ExInterlockedAddLargeInteger

ExInterlockedAddUlong

InterlockedDecrement

InterlockedIncrement