Macro ExInterlockedCompareExchange64 (wdm.h)
A rotina ExInterlockedCompareExchange64 compara uma variável 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á o de destino se a comparação resultar em igualdade.
Comperand
Um ponteiro para um inteiro com o qual o valor em de Destino será comparado.
[in] Lock
Um ponteiro para um bloqueio de rotação alocado pelo chamador que será usado se o sistema host não oferecer suporte a uma operação de comparação e troca atômica de 8 bytes.
Valor de retorno
Nenhum
Observações
Essa macro encapsula InterlockedCompareExchange64 ou ExfInterlockedCompareExchange64 e assume o valor retornado do tipo LONGLONG.
testes ExInterlockedCompareExchange64 e, possivelmente, substitui o valor de uma determinada variável. Para a maioria dos microprocessadores subjacentes, essa rotina é implementada embutida pelo compilador a 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 os de Destino e Comparand forem diferentes, ExInterlockedCompareExchange64 simplesmente retornará o valor de Destination.
ExInterlockedCompareExchange64 é atômica apenas em relação a outras chamadas (Ex)InterlockedXxx.
Os chamadores de ExInterlockedCompareExchange64 podem ser executados em qualquer IRQL. O armazenamento para o parâmetro de Destino, Comparação e Exchange e as entradas de lista devem ser residentes em todos os IRQLs.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Disponível a partir do Windows 2000. |
da Plataforma de Destino | Universal |
cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
biblioteca | NtosKrnl.lib |
de DLL | NtosKrnl.exe |
IRQL | Qualquer nível (consulte a seção Comentários) |