Função InterlockedExchangePointer (winnt.h)
Troca atomicamente um par de endereços.
Sintaxe
PVOID InterlockedExchangePointer(
[in, out] PVOID volatile *Target,
[in] PVOID Value
);
Parâmetros
[in, out] Target
Um ponteiro para o endereço a ser trocado. A função define o endereço apontado pelo parâmetro Target (*Target
) para o endereço que é o valor do parâmetro Value e retorna o valor anterior do parâmetro Target .
[in] Value
O endereço a ser trocado com o endereço apontado pelo parâmetro Target (*Target
).
Retornar valor
A função retorna o endereço inicial apontado pelo parâmetro Target .
Comentários
Essa função copia o endereço passado como o segundo parâmetro para o primeiro e retorna o endereço original do primeiro.
Em um sistema de 64 bits, os parâmetros são de 64 bits e o parâmetro Target deve ser alinhado em limites de 64 bits; caso contrário, a função se comportará de forma imprevisível. Em um sistema de 32 bits, os parâmetros são de 32 bits e o parâmetro Target deve ser alinhado em limites de 32 bits.
As funções interligadas fornecem um mecanismo simples para sincronizar o acesso a uma variável que é compartilhada por vários threads. Essa função é atômica em relação a chamadas para outras funções interligadas.
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 _InterlockedExchangePointer.
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 InterlockedExchangePointerAcquire .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [aplicativos da área de trabalho | aplicativos UWP] |
Servidor mínimo com suporte | Windows Server 2003 [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | winnt.h (inclua Windows.h) |
Confira também
Acesso à variável intertravada
InterlockedExchangePointerAcquire
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de