Función InterlockedExchangeAdd (wdm.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.
El compilador implementa InterlockedExchangeAdd 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.
InterlockedExchangeAdd solo es atómico 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 | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |
Library | OneCoreUAP.lib en Windows 10 |
IRQL | Cualquier nivel |