?互鎖函數有那些?
(1) LONG InterlockedExchangeAdd ( LPLONG Addend, LONG Increment );
Addend為長整型變量的地址,Increment為想要在Addend指向的長整型變量上增加的數值(可以是負數)。這個函數的主要作用是保證這個加操作為一個原子訪問。
(2) LONG InterlockedExchange( LPLONG Target, LONG Value );
用第二個參數的值取代第一個參數指向的值。函數返回值為原始值。
(3) PVOID InterlockedExchangePointer( PVOID *Target, PVOID Value );
用第二個參數的值取代第一個參數指向的值。函數返回值為原始值。
(4) LONG InterlockedCompareExchange(
LPLONG Destination, LONG Exchange, LONG Comperand?? );
如果第三個參數與第一個參數指向的值相同,那么用第二個參數取代第一個參數指向的值。函數返回值為原始值。
(5) PVOID InterlockedCompareExchangePointer (
PVOID *Destination, PVOID Exchange, PVOID Comperand );
如果第三個參數與第一個參數指向的值相同,那么用第二個參數取代第一個參數指向的值。函數返回值為原始值。