Windows SDK fancy bug

If you have installed both MSVC and Platform SDK and include both windows.h and PSDK includes, following error will occur:

C2733: second C linkage of overloaded function '_interlockedbittestandset' not allowed

Fancy enough, MS guys actually didn't get it correctly in intrin.h - this signature

__MACHINEI(unsigned char _interlockedbittestandset(long *a, long b))

doesn't look correct for compare and exchange, so it conflicts with winnt.h.
To get it fixed - make it

__MACHINEI(unsigned char _interlockedbittestandset(long volatile *a, long b))