Compartilhar via


Função InterlockedExchange (wdm.h)

A rotina InterlockedExchange define uma variável inteiro para um determinado valor como uma operação atômica.

Sintaxe

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

Parâmetros

[in, out] Target

Um ponteiro para uma variável a ser definida como o valor fornecido como uma operação atômica.

[in] Value

Especifica o valor ao qual a variável será definida.

Valor de retorno

InterlockedExchange retorna o valor da variável em de destino quando a chamada ocorreu.

Observações

InterlockedExchange deve ser usado em vez de ExInterlockedExchangeUlong, pois é mais rápido e eficiente.

InterlockedExchange é 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.

Uma chamada para rotina de InterlockedExchange é atômica apenas em relação a outras chamadas Xxx.

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

Requisitos

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

Consulte também

ExInterlockedAddLargeInteger

ExInterlockedAddUlong

InterlockedDecrement

InterlockedIncrement