Função InterlockedExchange (miniport.h)
A rotina InterlockedExchange define uma variável de inteiro como 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.
Retornar valor
InterlockedExchange retorna o valor da variável em Target quando a chamada ocorreu.
Comentários
O InterlockedExchange deve ser usado em vez de ExInterlockedExchangeUlong, pois ele é 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 a rotina InterlockedExchange é atômica apenas em relação a outras chamadasXxx 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 | miniport.h (incluem Wdm.h, Ntddk.h, Ntifs.h, Miniport.h) |
Biblioteca | OneCoreUAP.lib no Windows 10 |
IRQL | Qualquer nível |