[NTOSKRNL] Implement InterlockedExchangeSizeT macro

This commit is contained in:
George Bișoc 2022-01-02 20:21:22 +01:00
parent 47f6745bcd
commit 47cb3c20a3
No known key found for this signature in database
GPG key ID: 688C4FBE25D7DEF6

View file

@ -1537,6 +1537,14 @@ XIPInit(
#define InterlockedCompareExchangeSizeT(Destination, Exchange, Comperand) \
(SIZE_T)InterlockedCompareExchangePointer((PVOID*)(Destination), (PVOID)(SIZE_T)(Exchange), (PVOID)(SIZE_T)(Comperand))
#ifdef _WIN64
#define InterlockedExchangeSizeT(Target, Value) \
(SIZE_T)InterlockedExchange64((PLONG64)Target, (LONG64)Value)
#else
#define InterlockedExchangeSizeT(Target, Value) \
(SIZE_T)InterlockedExchange((PLONG)Target, (LONG)Value)
#endif
#define ExfInterlockedCompareExchange64UL(Destination, Exchange, Comperand) \
(ULONGLONG)ExfInterlockedCompareExchange64((PLONGLONG)(Destination), (PLONGLONG)(Exchange), (PLONGLONG)(Comperand))