description |
---|
Description of the 'interlocked_compare_exchange' function in HyperDbg Scripts |
interlocked_compare_exchange
interlocked_compare_exchange( *Variable, Expression, Expression );
[*Variable (Destination)]
A reference to a variable (most of the time a global variable) that is compared with the value of Comperand.
[Expression (ExChange)]
Specifies the output value pointed to by Destination if the input value pointed to by Destination equals the value of Comperand.
[Expression (Comperand)]
Specifies the value that is compared with the input value pointed to by Destination.
Performs an atomic operation that compares the input value pointed to by Destination with the value of Comperand. If Comperand is equal to Destination, then Destination is set to equal Exchange. Otherwise, Destination is unchanged.
The function returns the original value of *Destination.
None
None