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 |