<winbase.h> have some troublesome use of 'DWORD' where
it should have been 'ULONG_PTR'. E.g.:
WINBASEAPI DWORD WINAPI QueueUserAPC(PAPCFUNC,HANDLE,DWORD);
is defined in MSDN [*] as taking a ULONG_PTR in the last argument.
Note: I checked every patched line against the MSDN documentation (no looking at VC's headers where done).