Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Define uma variável de 32 bits para o valor especificado como uma operação atômica.
Para operar em uma variável de ponteiro, use a função InterlockedExchangePointer.
Para operar em uma variável de 16 bits, use a função
Para operar em uma variável de 64 bits, use a função InterlockedExchange64.
Sintaxe
LONG InterlockedExchange(
[in, out] LONG volatile *Target,
[in] LONG Value
);
Parâmetros
[in, out] Target
Um ponteiro para o valor a ser trocado. A função define essa variável como Valore retorna seu valor anterior.
[in] Value
O valor a ser trocado com o valor apontado por Target.
Valor de retorno
A função retorna o valor inicial do parâmetro Target.
Observações
As funções intertravadas fornecem um mecanismo simples para sincronizar o acesso a uma variável compartilhada por vários threads. Essa função é atômica em relação a chamadas para outras funções intertravadas.
Essa função é implementada usando um compilador intrínseco sempre que possível. Para obter mais informações, consulte o arquivo de cabeçalho WinBase.h e _InterlockedExchange.
Essa função gera uma barreira de memória completa (ou cerca) para garantir que as operações de memória sejam concluídas em ordem.
sistemas baseados em Itanium: Para aplicativos críticos ao desempenho, use InterlockedExchangeAcquire.
Requisitos
| Requisito | Valor |
|---|---|
| de cliente com suporte mínimo | Windows XP [aplicativos da área de trabalho | Aplicativos UWP] |
| servidor com suporte mínimo | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
| da Plataforma de Destino |
Windows |
| cabeçalho | winnt.h (inclua Windows.h) |
| biblioteca | Kernel32.lib |
| de DLL |
Kernel32.dll |
Consulte também
de acesso de variável intertravada
interlockedExchange16
"> InterlockedExchangeAddAcquire64
InterlockedExchangeAddNoFence64
InterlockedExchangeAddRelease64
InterlockedExchangePointerAcquire