Changed the USER_HEAP_* macros to use HANDLEs instead of HANDLE16s.

diff --git a/include/user.h b/include/user.h
index 84268b4..d8532f7 100644
--- a/include/user.h
+++ b/include/user.h
@@ -30,13 +30,13 @@
 extern WORD USER_HeapSel;
 
 #define USER_HEAP_ALLOC(size) \
-            LOCAL_Alloc( USER_HeapSel, LMEM_FIXED, (size) )
+            ((HANDLE)(ULONG_PTR)LOCAL_Alloc( USER_HeapSel, LMEM_FIXED, (size) ))
 #define USER_HEAP_REALLOC(handle,size) \
-            LOCAL_ReAlloc( USER_HeapSel, (handle), (size), LMEM_FIXED )
+            ((HANDLE)(ULONG_PTR)LOCAL_ReAlloc( USER_HeapSel, LOWORD(handle), (size), LMEM_FIXED ))
 #define USER_HEAP_FREE(handle) \
-            LOCAL_Free( USER_HeapSel, (handle) )
+            LOCAL_Free( USER_HeapSel, LOWORD(handle) )
 #define USER_HEAP_LIN_ADDR(handle)  \
-         ((handle) ? MapSL(MAKESEGPTR(USER_HeapSel, (handle))) : NULL)
+         ((handle) ? MapSL(MAKESEGPTR(USER_HeapSel, LOWORD(handle))) : NULL)
 
 #define GET_WORD(ptr)  (*(WORD *)(ptr))
 #define GET_DWORD(ptr) (*(DWORD *)(ptr))