Função InterlockedExchange8 (winnt.h)

Define uma variável de 8 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 InterlockedExchange16 .

Para operar em uma variável de 32 bits, use a função InterlockedExchange .

Para operar em uma variável de 64 bits, use a função InterlockedExchange64 .

Sintaxe

CHAR InterlockedExchange8(
  [in, out] CHAR volatile *Target,
  [in]      CHAR          Value
);

Parâmetros

[in, out] Target

Um ponteiro para o valor a ser trocado. A função define essa variável como Value e retorna seu valor anterior.

[in] Value

O valor a ser trocado com o valor apontado por Target.

Retornar valor

A função retorna o valor inicial do parâmetro Target .

Comentários

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 _InterlockedExchange8.

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.

Nota Essa função tem suporte em sistemas baseados em Windows RT.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winnt.h (inclua Windows.h)

Confira também

Acesso à variável intertravada

Interlockedcompareexchange

InterlockedExchange

InterlockedExchange16

InterlockedExchange16Acquire

InterlockedExchange16NoFence

InterlockedExchange64

InterlockedExchangeAcquire

InterlockedExchangeAcquire64

Interlockedexchangeadd

InterlockedExchangeNoFence

InterlockedExchangeNoFence64

InterlockedExchangePointer

InterlockedExchangePointerAcquire

InterlockedExchangePointerNoFence

InterlockedExchangeSubtract

Funções de sincronização