Macro ExInterlockedCompareExchange64 (wdm.h)
A rotina ExInterlockedCompareExchange64 compara uma variável de inteiro com outra e, se forem iguais, define a primeira variável como um valor fornecido pelo chamador.
Sintaxe
void ExInterlockedCompareExchange64(
[in, out] Destination,
[in] Exchange,
Comperand,
[in] Lock
);
Parâmetros
[in, out] Destination
Um ponteiro para um inteiro que será comparado e possivelmente substituído.
[in] Exchange
Um ponteiro para um inteiro que substituirá aquele em Destino se a comparação resultar em igualdade.
Comperand
Um ponteiro para um inteiro com o qual o valor em Destination será comparado.
[in] Lock
Um ponteiro para um spin-lock alocado pelo chamador que será usado se o sistema host não oferecer suporte a uma operação atômica de comparação e troca de 8 bytes.
Retornar valor
Nenhum
Comentários
Essa macro encapsula InterlockedCompareExchange64 ou ExfInterlockedCompareExchange64 e pressupõe o valor retornado do tipo LONGLONG.
ExInterlockedCompareExchange64 testa e, possivelmente, substitui o valor de uma determinada variável. Para a maioria dos microprocessadores subjacentes, essa rotina é implementada embutida pelo compilador para ser executada como uma operação atômica. Se um bloqueio de rotação for usado, essa rotina só poderá ser usada com segurança em parâmetros nãopagados.
Se Destination eComparand forem diferentes, ExInterlockedCompareExchange64 simplesmente retornará o valor de Destination.
ExInterlockedCompareExchange64 é atômico apenas em relação a outras chamadasXxx (Ex)Interlocked.
Os chamadores de ExInterlockedCompareExchange64 podem estar em execução em qualquer IRQL. O armazenamento para o parâmetro Destination, Comparand e Exchange e as entradas de lista devem ser residentes em todas as IRQLs.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 2000. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | Qualquer nível (consulte a seção Comentários) |