Função InterlockedExchangeAdd (wdm.h)

A rotina InterlockedExchangeAdd adiciona um valor a um determinado inteiro como uma operação atômica e retorna o valor original do inteiro fornecido.

Sintaxe

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

Parâmetros

[in, out] Addend

Um ponteiro para uma variável de inteiro.

[in] Value

Especifica o valor a ser adicionado a Addend.

Retornar valor

InterlockedExchangeAdd retorna o valor original da variável Addend quando a chamada ocorreu.

Comentários

InterlockedExchangeAdd deve ser usado em vez de ExInterlockedAddUlong porque é mais rápido e eficiente.

InterlockedExchangeAdd é implementado embutido pelo compilador quando apropriado e possível. Ele não requer um bloqueio de rotação e, portanto, pode ser usado com segurança em dados pagináveis.

InterlockedExchangeAdd é atômico apenas em relação a outras chamadas Xxx interlocked.

As operações interligadas não podem ser usadas na memória não armazenada em cache.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 2000.
Plataforma de Destino Universal
Cabeçalho wdm.h (inclua Wdm.h, Ntddk.h, Ntifs.h, Miniport.h)
Biblioteca OneCoreUAP.lib no Windows 10
IRQL Qualquer nível

Confira também

ExInterlockedAddLargeInteger

ExInterlockedAddUlong

Interlockeddecrement

Interlockedincrement