Part #1 of NTDLL/SIZE_T patch

Dmitry Timoshkov dmitry at baikal.ru
Fri Jul 15 01:25:33 CDT 2005


Hello,

this is part #1 of NTDLL/SIZE_T patch.

Changelog:
    Dmitry Timoshkov <dmitry at codeweavers.com>
    Use SIZE_T type for size variables in NTDLL when appropriate.

diff -up cvs/hq/wine/dlls/kernel/virtual.c wine/dlls/kernel/virtual.c
--- cvs/hq/wine/dlls/kernel/virtual.c	2005-06-21 16:39:59.000000000 +0900
+++ wine/dlls/kernel/virtual.c	2005-07-15 14:29:02.000000000 +0900
@@ -242,7 +242,7 @@ SIZE_T WINAPI VirtualQueryEx(
              PMEMORY_BASIC_INFORMATION info,  /* [out] Address of info buffer */
              SIZE_T len                       /* [in] Size of buffer */ )
 {
-    DWORD ret;
+    SIZE_T ret;
     NTSTATUS status;
 
     if ((status = NtQueryVirtualMemory( process, addr, MemoryBasicInformation, info, len, &ret )))
diff -up cvs/hq/wine/dlls/ntdll/heap.c wine/dlls/ntdll/heap.c
--- cvs/hq/wine/dlls/ntdll/heap.c	2005-07-13 17:56:47.000000000 +0900
+++ wine/dlls/ntdll/heap.c	2005-07-15 14:03:44.000000000 +0900
@@ -48,6 +48,10 @@ WINE_DEFAULT_DEBUG_CHANNEL(heap);
  * require it.
  */
 
+/* FIXME: use SIZE_T for 'size' structure members, but we need to make sure
+ * that there is no unaligned accesses to structure fields.
+ */
+
 typedef struct tagARENA_INUSE
 {
     DWORD  size;                    /* Block size; must be the first field */
@@ -129,7 +133,7 @@ static HEAP *firstHeap;     /* head of s
 static BOOL HEAP_IsRealArena( HEAP *heapPtr, DWORD flags, LPCVOID block, BOOL quiet );
 
 /* mark a block of memory as free for debugging purposes */
-static inline void mark_block_free( void *ptr, size_t size )
+static inline void mark_block_free( void *ptr, SIZE_T size )
 {
     if (TRACE_ON(heap)) memset( ptr, ARENA_FREE_FILLER, size );
 #ifdef VALGRIND_MAKE_NOACCESS
@@ -138,7 +142,7 @@ static inline void mark_block_free( void
 }
 
 /* mark a block of memory as initialized for debugging purposes */
-static inline void mark_block_initialized( void *ptr, size_t size )
+static inline void mark_block_initialized( void *ptr, SIZE_T size )
 {
 #ifdef VALGRIND_MAKE_READABLE
     VALGRIND_DISCARD( VALGRIND_MAKE_READABLE( ptr, size ));
@@ -146,7 +150,7 @@ static inline void mark_block_initialize
 }
 
 /* mark a block of memory as uninitialized for debugging purposes */
-static inline void mark_block_uninitialized( void *ptr, size_t size )
+static inline void mark_block_uninitialized( void *ptr, SIZE_T size )
 {
 #ifdef VALGRIND_MAKE_WRITABLE
     VALGRIND_DISCARD( VALGRIND_MAKE_WRITABLE( ptr, size ));
@@ -162,7 +166,7 @@ static inline void mark_block_uninitiali
 }
 
 /* clear contents of a block of memory */
-static inline void clear_block( void *ptr, size_t size )
+static inline void clear_block( void *ptr, SIZE_T size )
 {
     mark_block_initialized( ptr, size );
     memset( ptr, 0, size );
@@ -197,7 +201,7 @@ static void HEAP_Dump( HEAP *heap )
     subheap = &heap->subheap;
     while (subheap)
     {
-        DWORD freeSize = 0, usedSize = 0, arenaSize = subheap->headerSize;
+        SIZE_T freeSize = 0, usedSize = 0, arenaSize = subheap->headerSize;
         DPRINTF( "\n\nSub-heap %08lx: size=%08lx committed=%08lx\n",
 	      (DWORD)subheap, subheap->size, subheap->commitSize );
 
@@ -369,7 +373,7 @@ static SUBHEAP *HEAP_FindSubHeap(
  */
 static inline BOOL HEAP_Commit( SUBHEAP *subheap, void *ptr )
 {
-    DWORD size = (DWORD)((char *)ptr - (char *)subheap);
+    SIZE_T size = (SIZE_T)((char *)ptr - (char *)subheap);
     size = (size + COMMIT_MASK) & ~COMMIT_MASK;
     if (size > subheap->size) size = subheap->size;
     if (size <= subheap->commitSize) return TRUE;
@@ -395,9 +399,9 @@ static inline BOOL HEAP_Commit( SUBHEAP 
 static inline BOOL HEAP_Decommit( SUBHEAP *subheap, void *ptr )
 {
     void *addr;
-    ULONG decommit_size;
+    SIZE_T decommit_size;
+    SIZE_T size = (SIZE_T)((char *)ptr - (char *)subheap);
 
-    DWORD size = (DWORD)((char *)ptr - (char *)subheap);
     /* round to next block and add one full block */
     size = ((size + COMMIT_MASK) & ~COMMIT_MASK) + COMMIT_MASK + 1;
     if (size >= subheap->commitSize) return TRUE;
@@ -421,7 +425,7 @@ static inline BOOL HEAP_Decommit( SUBHEA
  * Create a free block at a specified address. 'size' is the size of the
  * whole block, including the new arena.
  */
-static void HEAP_CreateFreeBlock( SUBHEAP *subheap, void *ptr, DWORD size )
+static void HEAP_CreateFreeBlock( SUBHEAP *subheap, void *ptr, SIZE_T size )
 {
     ARENA_FREE *pFree;
     char *pEnd;
@@ -478,7 +482,7 @@ static void HEAP_CreateFreeBlock( SUBHEA
 static void HEAP_MakeInUseBlockFree( SUBHEAP *subheap, ARENA_INUSE *pArena )
 {
     ARENA_FREE *pFree;
-    DWORD size = (pArena->size & ARENA_SIZE_MASK) + sizeof(*pArena);
+    SIZE_T size = (pArena->size & ARENA_SIZE_MASK) + sizeof(*pArena);
 
     /* Check if we can merge with previous block */
 
@@ -504,7 +508,7 @@ static void HEAP_MakeInUseBlockFree( SUB
     if (((char *)pFree == (char *)subheap + subheap->headerSize) &&
         (subheap != &subheap->heap->subheap))
     {
-        ULONG size = 0;
+        SIZE_T size = 0;
         SUBHEAP *pPrev = &subheap->heap->subheap;
         /* Remove the free block from the list */
         pFree->next->prev = pFree->prev;
@@ -529,7 +533,7 @@ static void HEAP_MakeInUseBlockFree( SUB
  *
  * Shrink an in-use block.
  */
-static void HEAP_ShrinkBlock(SUBHEAP *subheap, ARENA_INUSE *pArena, DWORD size)
+static void HEAP_ShrinkBlock(SUBHEAP *subheap, ARENA_INUSE *pArena, SIZE_T size)
 {
     if ((pArena->size & ARENA_SIZE_MASK) >= size + HEAP_MIN_BLOCK_SIZE)
     {
@@ -551,7 +555,7 @@ static void HEAP_ShrinkBlock(SUBHEAP *su
  *           HEAP_InitSubHeap
  */
 static BOOL HEAP_InitSubHeap( HEAP *heap, LPVOID address, DWORD flags,
-                                DWORD commitSize, DWORD totalSize )
+                              SIZE_T commitSize, SIZE_T totalSize )
 {
     SUBHEAP *subheap;
     FREE_LIST_ENTRY *pEntry;
@@ -637,7 +641,7 @@ static BOOL HEAP_InitSubHeap( HEAP *heap
  * If heap == NULL, creates a main heap.
  */
 static SUBHEAP *HEAP_CreateSubHeap( HEAP *heap, void *base, DWORD flags,
-                                    DWORD commitSize, DWORD totalSize )
+                                    SIZE_T commitSize, SIZE_T totalSize )
 {
     LPVOID address = base;
 
@@ -663,7 +667,7 @@ static SUBHEAP *HEAP_CreateSubHeap( HEAP
     if (!HEAP_InitSubHeap( heap ? heap : (HEAP *)address,
                            address, flags, commitSize, totalSize ))
     {
-        ULONG size = 0;
+        SIZE_T size = 0;
         if (!base) NtFreeVirtualMemory( NtCurrentProcess(), &address, &size, MEM_RELEASE );
         return NULL;
     }
@@ -678,7 +682,7 @@ static SUBHEAP *HEAP_CreateSubHeap( HEAP
  * Find a free block at least as large as the requested size, and make sure
  * the requested size is committed.
  */
-static ARENA_FREE *HEAP_FindFreeBlock( HEAP *heap, DWORD size,
+static ARENA_FREE *HEAP_FindFreeBlock( HEAP *heap, SIZE_T size,
                                        SUBHEAP **ppSubHeap )
 {
     SUBHEAP *subheap;
@@ -691,7 +695,7 @@ static ARENA_FREE *HEAP_FindFreeBlock( H
     pArena = pEntry->arena.next;
     while (pArena != &heap->freeList[0].arena)
     {
-        DWORD arena_size = (pArena->size & ARENA_SIZE_MASK) +
+        SIZE_T arena_size = (pArena->size & ARENA_SIZE_MASK) +
                             sizeof(ARENA_FREE) - sizeof(ARENA_INUSE);
         if (arena_size >= size)
         {
@@ -757,7 +761,7 @@ static BOOL HEAP_ValidateFreeArena( SUBH
     char *heapEnd = (char *)subheap + subheap->size;
 
     /* Check for unaligned pointers */
-    if ( (long)pArena % ALIGNMENT != 0 )
+    if ( (ULONG_PTR)pArena % ALIGNMENT != 0 )
     {
         ERR( "Heap %08lx: unaligned arena pointer %08lx\n",
              (DWORD)subheap->heap, (DWORD)pArena );
@@ -777,6 +781,7 @@ static BOOL HEAP_ValidateFreeArena( SUBH
     {
         ERR("Heap %08lx: bad flags %lx for free arena %08lx\n",
                  (DWORD)subheap->heap, pArena->size & ~ARENA_SIZE_MASK, (DWORD)pArena );
+        return FALSE;
     }
     /* Check arena size */
     if ((char *)(pArena + 1) + (pArena->size & ARENA_SIZE_MASK) > heapEnd)
@@ -849,7 +854,7 @@ static BOOL HEAP_ValidateInUseArena( con
     const char *heapEnd = (const char *)subheap + subheap->size;
 
     /* Check for unaligned pointers */
-    if ( (long)pArena % ALIGNMENT != 0 )
+    if ( (ULONG_PTR)pArena % ALIGNMENT != 0 )
     {
         if ( quiet == NOISY )
         {
@@ -1035,7 +1040,7 @@ static BOOL HEAP_IsRealArena( HEAP *heap
  *  Success: A HANDLE to the newly created heap.
  *  Failure: a NULL HANDLE.
  */
-HANDLE WINAPI RtlCreateHeap( ULONG flags, PVOID addr, ULONG totalSize, ULONG commitSize,
+HANDLE WINAPI RtlCreateHeap( ULONG flags, PVOID addr, SIZE_T totalSize, SIZE_T commitSize,
                              PVOID unknown, PRTL_HEAP_DEFINITION definition )
 {
     SUBHEAP *subheap;
@@ -1101,7 +1106,7 @@ HANDLE WINAPI RtlDestroyHeap( HANDLE hea
     while (subheap)
     {
         SUBHEAP *next = subheap->next;
-        ULONG size = 0;
+        SIZE_T size = 0;
         void *addr = subheap;
         NtFreeVirtualMemory( NtCurrentProcess(), &addr, &size, MEM_RELEASE );
         subheap = next;
@@ -1127,13 +1132,13 @@ HANDLE WINAPI RtlDestroyHeap( HANDLE hea
  * NOTES
  *  This call does not SetLastError().
  */
-PVOID WINAPI RtlAllocateHeap( HANDLE heap, ULONG flags, ULONG size )
+PVOID WINAPI RtlAllocateHeap( HANDLE heap, ULONG flags, SIZE_T size )
 {
     ARENA_FREE *pArena;
     ARENA_INUSE *pInUse;
     SUBHEAP *subheap;
     HEAP *heapPtr = HEAP_GetPtr( heap );
-    ULONG rounded_size;
+    SIZE_T rounded_size;
 
     /* Validate the parameters */
 
@@ -1259,13 +1264,12 @@ BOOLEAN WINAPI RtlFreeHeap( HANDLE heap,
  *  Success: A pointer to the resized block (which may be different).
  *  Failure: NULL.
  */
-PVOID WINAPI RtlReAllocateHeap( HANDLE heap, ULONG flags, PVOID ptr, ULONG size )
+PVOID WINAPI RtlReAllocateHeap( HANDLE heap, ULONG flags, PVOID ptr, SIZE_T size )
 {
     ARENA_INUSE *pArena;
-    DWORD oldSize;
     HEAP *heapPtr;
     SUBHEAP *subheap;
-    ULONG rounded_size;
+    SIZE_T oldSize, rounded_size;
 
     if (!ptr) return NULL;
     if (!(heapPtr = HEAP_GetPtr( heap )))
@@ -1460,15 +1464,15 @@ BOOLEAN WINAPI RtlUnlockHeap( HANDLE hea
  * NOTES
  *  The size may be bigger than what was passed to RtlAllocateHeap().
  */
-ULONG WINAPI RtlSizeHeap( HANDLE heap, ULONG flags, PVOID ptr )
+SIZE_T WINAPI RtlSizeHeap( HANDLE heap, ULONG flags, PVOID ptr )
 {
-    DWORD ret;
+    SIZE_T ret;
     HEAP *heapPtr = HEAP_GetPtr( heap );
 
     if (!heapPtr)
     {
         RtlSetLastWin32ErrorAndNtStatusFromNtStatus( STATUS_INVALID_HANDLE );
-        return (ULONG)-1;
+        return (SIZE_T)-1;
     }
     flags &= HEAP_NO_SERIALIZE;
     flags |= heapPtr->flags;
@@ -1476,7 +1480,7 @@ ULONG WINAPI RtlSizeHeap( HANDLE heap, U
     if (!HEAP_IsRealArena( heapPtr, HEAP_NO_SERIALIZE, ptr, QUIET ))
     {
         RtlSetLastWin32ErrorAndNtStatusFromNtStatus( STATUS_INVALID_PARAMETER );
-        ret = (ULONG)-1;
+        ret = (SIZE_T)-1;
     }
     else
     {
@@ -1640,7 +1644,7 @@ HW_end:
  */
 ULONG WINAPI RtlGetProcessHeaps( ULONG count, HANDLE *heaps )
 {
-    DWORD total;
+    ULONG total;
     HEAP *ptr;
 
     if (!processHeap) return 0;  /* should never happen */
diff -up cvs/hq/wine/dlls/ntdll/virtual.c wine/dlls/ntdll/virtual.c
--- cvs/hq/wine/dlls/ntdll/virtual.c	2005-07-07 18:13:17.000000000 +0900
+++ wine/dlls/ntdll/virtual.c	2005-07-15 14:29:13.000000000 +0900
@@ -67,7 +67,7 @@ typedef struct file_view
 {
     struct list   entry;       /* Entry in global view list */
     void         *base;        /* Base address */
-    UINT          size;        /* Size in bytes */
+    size_t        size;        /* Size in bytes */
     HANDLE        mapping;     /* Handle to the file mapping */
     BYTE          flags;       /* Allocation flags (VFLAG_*) */
     BYTE          protect;     /* Protection for all pages at allocation time */
@@ -532,7 +532,7 @@ static BYTE VIRTUAL_GetProt( DWORD prote
  */
 static BOOL VIRTUAL_SetProt( FILE_VIEW *view, /* [in] Pointer to view */
                              void *base,      /* [in] Starting address */
-                             UINT size,       /* [in] Size in bytes */
+                             size_t size,     /* [in] Size in bytes */
                              BYTE vprot )     /* [in] Protections to use */
 {
     TRACE("%p-%p %s\n",
@@ -611,9 +611,9 @@ static NTSTATUS map_view( struct file_vi
 
         /* Release the extra memory while keeping the range
          * starting on the granularity boundary. */
-        if ((unsigned int)ptr & granularity_mask)
+        if ((ULONG_PTR)ptr & granularity_mask)
         {
-            unsigned int extra = granularity_mask + 1 - ((unsigned int)ptr & granularity_mask);
+            size_t extra = granularity_mask + 1 - ((ULONG_PTR)ptr & granularity_mask);
             munmap( ptr, extra );
             ptr = (char *)ptr + extra;
             view_size -= extra;
@@ -753,7 +753,7 @@ static NTSTATUS decommit_pages( struct f
  * Apply the relocations to a mapped PE image
  */
 static int do_relocations( char *base, const IMAGE_DATA_DIRECTORY *dir,
-                           int delta, DWORD total_size )
+                           int delta, SIZE_T total_size )
 {
     IMAGE_BASE_RELOCATION *rel;
 
@@ -816,8 +816,8 @@ static int do_relocations( char *base, c
  *
  * Map an executable (PE format) image into memory.
  */
-static NTSTATUS map_image( HANDLE hmapping, int fd, char *base, DWORD total_size,
-                           DWORD header_size, int shared_fd, BOOL removable, PVOID *addr_ptr )
+static NTSTATUS map_image( HANDLE hmapping, int fd, char *base, SIZE_T total_size,
+                           SIZE_T header_size, int shared_fd, BOOL removable, PVOID *addr_ptr )
 {
     IMAGE_DOS_HEADER *dos;
     IMAGE_NT_HEADERS *nt;
@@ -920,7 +920,7 @@ static NTSTATUS map_image( HANDLE hmappi
 
     for (i = pos = 0; i < nt->FileHeader.NumberOfSections; i++, sec++)
     {
-        DWORD size;
+        SIZE_T size;
 
         /* a few sanity checks */
         size = sec->VirtualAddress + ROUND_SIZE( sec->VirtualAddress, sec->Misc.VirtualSize );
@@ -1031,7 +1031,7 @@ static NTSTATUS map_image( HANDLE hmappi
     sec = (IMAGE_SECTION_HEADER*)((char *)&nt->OptionalHeader+nt->FileHeader.SizeOfOptionalHeader);
     for (i = 0; i < nt->FileHeader.NumberOfSections; i++, sec++)
     {
-        DWORD size = ROUND_SIZE( sec->VirtualAddress, sec->Misc.VirtualSize );
+        SIZE_T size = ROUND_SIZE( sec->VirtualAddress, sec->Misc.VirtualSize );
         BYTE vprot = VPROT_COMMITTED;
         if (sec->Characteristics & IMAGE_SCN_MEM_READ)    vprot |= VPROT_READ;
         if (sec->Characteristics & IMAGE_SCN_MEM_WRITE)   vprot |= VPROT_READ|VPROT_WRITECOPY;
@@ -1158,11 +1158,11 @@ void VIRTUAL_UseLargeAddressSpace(void)
  *             ZwAllocateVirtualMemory   (NTDLL.@)
  */
 NTSTATUS WINAPI NtAllocateVirtualMemory( HANDLE process, PVOID *ret, ULONG zero_bits,
-                                         ULONG *size_ptr, ULONG type, ULONG protect )
+                                         SIZE_T *size_ptr, ULONG type, ULONG protect )
 {
     void *base;
     BYTE vprot;
-    DWORD size = *size_ptr;
+    SIZE_T size = *size_ptr;
     NTSTATUS status = STATUS_SUCCESS;
     struct file_view *view;
 
@@ -1267,13 +1267,13 @@ NTSTATUS WINAPI NtAllocateVirtualMemory(
  *             NtFreeVirtualMemory   (NTDLL.@)
  *             ZwFreeVirtualMemory   (NTDLL.@)
  */
-NTSTATUS WINAPI NtFreeVirtualMemory( HANDLE process, PVOID *addr_ptr, ULONG *size_ptr, ULONG type )
+NTSTATUS WINAPI NtFreeVirtualMemory( HANDLE process, PVOID *addr_ptr, SIZE_T *size_ptr, ULONG type )
 {
     FILE_VIEW *view;
     char *base;
     NTSTATUS status = STATUS_SUCCESS;
     LPVOID addr = *addr_ptr;
-    DWORD size = *size_ptr;
+    SIZE_T size = *size_ptr;
 
     TRACE("%p %p %08lx %lx\n", process, addr, size, type );
 
@@ -1340,7 +1340,7 @@ NTSTATUS WINAPI NtFreeVirtualMemory( HAN
  *             NtProtectVirtualMemory   (NTDLL.@)
  *             ZwProtectVirtualMemory   (NTDLL.@)
  */
-NTSTATUS WINAPI NtProtectVirtualMemory( HANDLE process, PVOID *addr_ptr, ULONG *size_ptr,
+NTSTATUS WINAPI NtProtectVirtualMemory( HANDLE process, PVOID *addr_ptr, SIZE_T *size_ptr,
                                         ULONG new_prot, ULONG *old_prot )
 {
     FILE_VIEW *view;
@@ -1348,7 +1348,8 @@ NTSTATUS WINAPI NtProtectVirtualMemory( 
     char *base;
     UINT i;
     BYTE vprot, *p;
-    DWORD prot, size = *size_ptr;
+    ULONG prot;
+    SIZE_T size = *size_ptr;
     LPVOID addr = *addr_ptr;
 
     TRACE("%p %p %08lx %08lx\n", process, addr, size, new_prot );
@@ -1412,12 +1413,12 @@ NTSTATUS WINAPI NtProtectVirtualMemory( 
  */
 NTSTATUS WINAPI NtQueryVirtualMemory( HANDLE process, LPCVOID addr,
                                       MEMORY_INFORMATION_CLASS info_class, PVOID buffer,
-                                      ULONG len, ULONG *res_len )
+                                      SIZE_T len, SIZE_T *res_len )
 {
     FILE_VIEW *view;
     char *base, *alloc_base = 0;
     struct list *ptr;
-    UINT size = 0;
+    SIZE_T size = 0;
     MEMORY_BASIC_INFORMATION *info = buffer;
 
     if (info_class != MemoryBasicInformation)
@@ -1519,7 +1520,7 @@ NTSTATUS WINAPI NtQueryVirtualMemory( HA
  *             NtLockVirtualMemory   (NTDLL.@)
  *             ZwLockVirtualMemory   (NTDLL.@)
  */
-NTSTATUS WINAPI NtLockVirtualMemory( HANDLE process, PVOID *addr, ULONG *size, ULONG unknown )
+NTSTATUS WINAPI NtLockVirtualMemory( HANDLE process, PVOID *addr, SIZE_T *size, ULONG unknown )
 {
     if (!is_current_process( process ))
     {
@@ -1534,7 +1535,7 @@ NTSTATUS WINAPI NtLockVirtualMemory( HAN
  *             NtUnlockVirtualMemory   (NTDLL.@)
  *             ZwUnlockVirtualMemory   (NTDLL.@)
  */
-NTSTATUS WINAPI NtUnlockVirtualMemory( HANDLE process, PVOID *addr, ULONG *size, ULONG unknown )
+NTSTATUS WINAPI NtUnlockVirtualMemory( HANDLE process, PVOID *addr, SIZE_T *size, ULONG unknown )
 {
     if (!is_current_process( process ))
     {
@@ -1617,13 +1618,13 @@ NTSTATUS WINAPI NtOpenSection( HANDLE *h
  *             ZwMapViewOfSection   (NTDLL.@)
  */
 NTSTATUS WINAPI NtMapViewOfSection( HANDLE handle, HANDLE process, PVOID *addr_ptr, ULONG zero_bits,
-                                    ULONG commit_size, const LARGE_INTEGER *offset_ptr, ULONG *size_ptr,
+                                    SIZE_T commit_size, const LARGE_INTEGER *offset_ptr, SIZE_T *size_ptr,
                                     SECTION_INHERIT inherit, ULONG alloc_type, ULONG protect )
 {
     IO_STATUS_BLOCK io;
     FILE_FS_DEVICE_INFORMATION device_info;
     NTSTATUS res;
-    UINT size = 0;
+    SIZE_T size = 0;
     int unix_handle = -1;
     int prot;
     void *base;
@@ -1635,7 +1636,7 @@ NTSTATUS WINAPI NtMapViewOfSection( HAND
 
     offset.QuadPart = offset_ptr ? offset_ptr->QuadPart : 0;
 
-    TRACE("handle=%p process=%p addr=%p off=%lx%08lx size=%x access=%lx\n",
+    TRACE("handle=%p process=%p addr=%p off=%lx%08lx size=%lx access=%lx\n",
           handle, process, *addr_ptr, offset.u.HighPart, offset.u.LowPart, size, protect );
 
     if (!is_current_process( process ))
@@ -1752,7 +1753,7 @@ NTSTATUS WINAPI NtMapViewOfSection( HAND
 
     /* Map the file */
 
-    TRACE("handle=%p size=%x offset=%lx%08lx\n",
+    TRACE("handle=%p size=%lx offset=%lx%08lx\n",
           handle, size, offset.u.HighPart, offset.u.LowPart );
 
     res = map_file_into_view( view, unix_handle, 0, size, offset.QuadPart, prot, removable );
@@ -1768,7 +1769,7 @@ NTSTATUS WINAPI NtMapViewOfSection( HAND
     }
     else
     {
-        ERR( "map_file_into_view %p %x %lx%08lx failed\n",
+        ERR( "map_file_into_view %p %lx %lx%08lx failed\n",
              view->base, size, offset.u.HighPart, offset.u.LowPart );
         delete_view( view );
     }
@@ -1812,7 +1813,7 @@ NTSTATUS WINAPI NtUnmapViewOfSection( HA
  *             ZwFlushVirtualMemory   (NTDLL.@)
  */
 NTSTATUS WINAPI NtFlushVirtualMemory( HANDLE process, LPCVOID *addr_ptr,
-                                      ULONG *size_ptr, ULONG unknown )
+                                      SIZE_T *size_ptr, ULONG unknown )
 {
     FILE_VIEW *view;
     NTSTATUS status = STATUS_SUCCESS;
@@ -1866,14 +1867,14 @@ NTSTATUS WINAPI NtWriteVirtualMemory( HA
                                       SIZE_T size, SIZE_T *bytes_written )
 {
     static const unsigned int zero;
-    unsigned int first_offset, last_offset, first_mask, last_mask;
+    SIZE_T first_offset, last_offset, first_mask, last_mask;
     NTSTATUS status;
 
     if (!size) return STATUS_INVALID_PARAMETER;
 
     /* compute the mask for the first int */
     first_mask = ~0;
-    first_offset = (unsigned int)addr % sizeof(int);
+    first_offset = (ULONG_PTR)addr % sizeof(int);
     memset( &first_mask, 0, first_offset );
 
     /* compute the mask for the last int */
diff -up cvs/hq/wine/include/winnt.h wine/include/winnt.h
--- cvs/hq/wine/include/winnt.h	2005-07-07 18:13:21.000000000 +0900
+++ wine/include/winnt.h	2005-07-15 14:31:11.000000000 +0900
@@ -485,7 +485,7 @@ typedef struct _MEMORY_BASIC_INFORMATION
     LPVOID   BaseAddress;
     LPVOID   AllocationBase;
     DWORD    AllocationProtect;
-    DWORD    RegionSize;
+    SIZE_T   RegionSize;
     DWORD    State;
     DWORD    Protect;
     DWORD    Type;
diff -up cvs/hq/wine/include/winternl.h wine/include/winternl.h
--- cvs/hq/wine/include/winternl.h	2005-07-13 17:56:50.000000000 +0900
+++ wine/include/winternl.h	2005-07-15 14:29:24.000000000 +0900
@@ -1689,7 +1689,7 @@ NTSTATUS  WINAPI NtAlertResumeThread(HAN
 NTSTATUS  WINAPI NtAlertThread(HANDLE ThreadHandle);
 NTSTATUS  WINAPI NtAllocateLocallyUniqueId(PLUID lpLuid);
 NTSTATUS  WINAPI NtAllocateUuids(PULARGE_INTEGER,PULONG,PULONG);
-NTSTATUS  WINAPI NtAllocateVirtualMemory(HANDLE,PVOID*,ULONG,ULONG*,ULONG,ULONG);
+NTSTATUS  WINAPI NtAllocateVirtualMemory(HANDLE,PVOID*,ULONG,SIZE_T*,ULONG,ULONG);
 NTSTATUS  WINAPI NtCallbackReturn(PVOID,ULONG,NTSTATUS);
 NTSTATUS  WINAPI NtCancelIoFile(HANDLE,PIO_STATUS_BLOCK);
 NTSTATUS  WINAPI NtCancelTimer(HANDLE, BOOLEAN*);
@@ -1732,11 +1732,11 @@ NTSTATUS  WINAPI NtEnumerateValueKey(HAN
 NTSTATUS  WINAPI NtExtendSection(HANDLE,PLARGE_INTEGER); 
 NTSTATUS  WINAPI NtFindAtom(const WCHAR*,ULONG,RTL_ATOM*);
 NTSTATUS  WINAPI NtFlushBuffersFile(HANDLE,IO_STATUS_BLOCK*);
-NTSTATUS  WINAPI NtFlushInstructionCache(HANDLE,LPCVOID,ULONG);
+NTSTATUS  WINAPI NtFlushInstructionCache(HANDLE,LPCVOID,SIZE_T);
 NTSTATUS  WINAPI NtFlushKey(HANDLE);
-NTSTATUS  WINAPI NtFlushVirtualMemory(HANDLE,LPCVOID*,ULONG*,ULONG);
+NTSTATUS  WINAPI NtFlushVirtualMemory(HANDLE,LPCVOID*,SIZE_T*,ULONG);
 NTSTATUS  WINAPI NtFlushWriteBuffer(VOID);
-NTSTATUS  WINAPI NtFreeVirtualMemory(HANDLE,PVOID*,ULONG*,ULONG);
+NTSTATUS  WINAPI NtFreeVirtualMemory(HANDLE,PVOID*,SIZE_T*,ULONG);
 NTSTATUS  WINAPI NtFsControlFile(HANDLE,HANDLE,PIO_APC_ROUTINE,PVOID,PIO_STATUS_BLOCK,ULONG,PVOID,ULONG,PVOID,ULONG);
 NTSTATUS  WINAPI NtGetContextThread(HANDLE,CONTEXT*);
 NTSTATUS  WINAPI NtGetPlugPlayEvent(ULONG,ULONG,PVOID,ULONG);
@@ -1750,9 +1750,9 @@ NTSTATUS  WINAPI NtListenPort(HANDLE,PLP
 NTSTATUS  WINAPI NtLoadDriver(const UNICODE_STRING *);
 NTSTATUS  WINAPI NtLoadKey(const OBJECT_ATTRIBUTES *,OBJECT_ATTRIBUTES *);
 NTSTATUS  WINAPI NtLockFile(HANDLE,HANDLE,PIO_APC_ROUTINE,void*,PIO_STATUS_BLOCK,PLARGE_INTEGER,PLARGE_INTEGER,ULONG*,BOOLEAN,BOOLEAN);
-NTSTATUS  WINAPI NtLockVirtualMemory(HANDLE,PVOID*,ULONG*,ULONG);
+NTSTATUS  WINAPI NtLockVirtualMemory(HANDLE,PVOID*,SIZE_T*,ULONG);
 NTSTATUS  WINAPI NtMakeTemporaryObject(HANDLE); 
-NTSTATUS  WINAPI NtMapViewOfSection(HANDLE,HANDLE,PVOID*,ULONG,ULONG,const LARGE_INTEGER*,ULONG*,SECTION_INHERIT,ULONG,ULONG);
+NTSTATUS  WINAPI NtMapViewOfSection(HANDLE,HANDLE,PVOID*,ULONG,SIZE_T,const LARGE_INTEGER*,SIZE_T*,SECTION_INHERIT,ULONG,ULONG);
 NTSTATUS  WINAPI NtNotifyChangeDirectoryFile(HANDLE,HANDLE,PIO_APC_ROUTINE,PVOID,PIO_STATUS_BLOCK,PVOID,ULONG,ULONG,BOOLEAN);
 NTSTATUS  WINAPI NtNotifyChangeKey(HANDLE,HANDLE,PIO_APC_ROUTINE,PVOID,PIO_STATUS_BLOCK,ULONG,BOOLEAN,PVOID,ULONG,BOOLEAN);
 NTSTATUS  WINAPI NtOpenDirectoryObject(PHANDLE,ACCESS_MASK,POBJECT_ATTRIBUTES);
@@ -1775,7 +1775,7 @@ NTSTATUS  WINAPI NtPowerInformation(POWE
 NTSTATUS  WINAPI NtPrivilegeCheck(HANDLE,PPRIVILEGE_SET,PBOOLEAN);
 NTSTATUS  WINAPI NtPrivilegeObjectAuditAlarm(PUNICODE_STRING,HANDLE,HANDLE,ULONG,PPRIVILEGE_SET,BOOLEAN);
 NTSTATUS  WINAPI NtPrivilegedServiceAuditAlarm(PUNICODE_STRING,PUNICODE_STRING,HANDLE,PPRIVILEGE_SET,BOOLEAN);
-NTSTATUS  WINAPI NtProtectVirtualMemory(HANDLE,PVOID*,ULONG*,ULONG,ULONG*);
+NTSTATUS  WINAPI NtProtectVirtualMemory(HANDLE,PVOID*,SIZE_T*,ULONG,ULONG*);
 NTSTATUS  WINAPI NtPulseEvent(HANDLE,PULONG);
 NTSTATUS  WINAPI NtQueueApcThread(HANDLE,PNTAPCFUNC,ULONG_PTR,ULONG_PTR,ULONG_PTR);
 NTSTATUS  WINAPI NtQueryAttributesFile(const OBJECT_ATTRIBUTES*,FILE_BASIC_INFORMATION*);
@@ -1811,7 +1811,7 @@ NTSTATUS  WINAPI NtQuerySystemTime(PLARG
 NTSTATUS  WINAPI NtQueryTimer(HANDLE,TIMER_INFORMATION_CLASS,PVOID,ULONG,PULONG);
 NTSTATUS  WINAPI NtQueryTimerResolution(PULONG,PULONG,PULONG);
 NTSTATUS  WINAPI NtQueryValueKey(HANDLE,const UNICODE_STRING *,KEY_VALUE_INFORMATION_CLASS,void *,DWORD,DWORD *);
-NTSTATUS  WINAPI NtQueryVirtualMemory(HANDLE,LPCVOID,MEMORY_INFORMATION_CLASS,PVOID,ULONG,ULONG*);
+NTSTATUS  WINAPI NtQueryVirtualMemory(HANDLE,LPCVOID,MEMORY_INFORMATION_CLASS,PVOID,SIZE_T,SIZE_T*);
 NTSTATUS  WINAPI NtQueryVolumeInformationFile(HANDLE,PIO_STATUS_BLOCK,PVOID,ULONG,FS_INFORMATION_CLASS);
 void      WINAPI NtRaiseException(PEXCEPTION_RECORD,PCONTEXT,BOOL);
 NTSTATUS  WINAPI NtRaiseHardError(NTSTATUS,ULONG,PUNICODE_STRING,PVOID*,HARDERROR_RESPONSE_OPTION,PHARDERROR_RESPONSE);
@@ -1878,7 +1878,7 @@ NTSTATUS  WINAPI NtUnloadDriver(const UN
 NTSTATUS  WINAPI NtUnloadKey(HANDLE);
 NTSTATUS  WINAPI NtUnloadKeyEx(POBJECT_ATTRIBUTES,HANDLE);
 NTSTATUS  WINAPI NtUnlockFile(HANDLE,PIO_STATUS_BLOCK,PLARGE_INTEGER,PLARGE_INTEGER,PULONG);
-NTSTATUS  WINAPI NtUnlockVirtualMemory(HANDLE,PVOID*,ULONG*,ULONG);
+NTSTATUS  WINAPI NtUnlockVirtualMemory(HANDLE,PVOID*,SIZE_T*,ULONG);
 NTSTATUS  WINAPI NtUnmapViewOfSection(HANDLE,PVOID);
 NTSTATUS  WINAPI NtVdmControl(ULONG,PVOID); 
 NTSTATUS  WINAPI NtWaitForSingleObject(HANDLE,BOOLEAN,const LARGE_INTEGER*);
@@ -1905,7 +1905,7 @@ PVOID     WINAPI RtlAddVectoredException
 NTSTATUS  WINAPI RtlAdjustPrivilege(ULONG,BOOLEAN,BOOLEAN,PBOOLEAN);
 NTSTATUS  WINAPI RtlAllocateAndInitializeSid(PSID_IDENTIFIER_AUTHORITY,BYTE,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,PSID *);
 RTL_HANDLE * WINAPI RtlAllocateHandle(RTL_HANDLE_TABLE *,ULONG *);
-PVOID     WINAPI RtlAllocateHeap(HANDLE,ULONG,ULONG);
+PVOID     WINAPI RtlAllocateHeap(HANDLE,ULONG,SIZE_T);
 WCHAR     WINAPI RtlAnsiCharToUnicodeChar(LPSTR *);
 DWORD     WINAPI RtlAnsiStringToUnicodeSize(const STRING *);
 NTSTATUS  WINAPI RtlAnsiStringToUnicodeString(PUNICODE_STRING,PCANSI_STRING,BOOLEAN);
@@ -1939,7 +1939,7 @@ void      WINAPI RtlCopyUnicodeString(UN
 NTSTATUS  WINAPI RtlCreateAcl(PACL,DWORD,DWORD);
 NTSTATUS  WINAPI RtlCreateAtomTable(ULONG,RTL_ATOM_TABLE*);
 NTSTATUS  WINAPI RtlCreateEnvironment(BOOLEAN, PWSTR*);
-HANDLE    WINAPI RtlCreateHeap(ULONG,PVOID,ULONG,ULONG,PVOID,PRTL_HEAP_DEFINITION);
+HANDLE    WINAPI RtlCreateHeap(ULONG,PVOID,SIZE_T,SIZE_T,PVOID,PRTL_HEAP_DEFINITION);
 NTSTATUS  WINAPI RtlCreateProcessParameters(RTL_USER_PROCESS_PARAMETERS**,const UNICODE_STRING*,
                                             const UNICODE_STRING*,const UNICODE_STRING*,
                                             const UNICODE_STRING*,PWSTR,const UNICODE_STRING*,
@@ -2104,7 +2104,7 @@ NTSTATUS  WINAPI RtlQueryTimeZoneInforma
 void      WINAPI RtlRaiseException(PEXCEPTION_RECORD);
 void      WINAPI RtlRaiseStatus(NTSTATUS);
 ULONG     WINAPI RtlRandom(PULONG);
-PVOID     WINAPI RtlReAllocateHeap(HANDLE,ULONG,PVOID,ULONG);
+PVOID     WINAPI RtlReAllocateHeap(HANDLE,ULONG,PVOID,SIZE_T);
 void      WINAPI RtlReleasePebLock(void);
 void      WINAPI RtlReleaseResource(LPRTL_RWLOCK);
 ULONG     WINAPI RtlRemoveVectoredExceptionHandler(PVOID);
@@ -2127,7 +2127,7 @@ void      WINAPI RtlSetLastWin32Error(DW
 void      WINAPI RtlSetLastWin32ErrorAndNtStatusFromNtStatus(NTSTATUS);
 NTSTATUS  WINAPI RtlSetSaclSecurityDescriptor(PSECURITY_DESCRIPTOR,BOOLEAN,PACL,BOOLEAN);
 NTSTATUS  WINAPI RtlSetTimeZoneInformation(const RTL_TIME_ZONE_INFORMATION*);
-ULONG     WINAPI RtlSizeHeap(HANDLE,ULONG,PVOID);
+SIZE_T    WINAPI RtlSizeHeap(HANDLE,ULONG,PVOID);
 NTSTATUS  WINAPI RtlStringFromGUID(REFGUID,PUNICODE_STRING);
 LPDWORD   WINAPI RtlSubAuthoritySid(PSID,DWORD);
 LPBYTE    WINAPI RtlSubAuthorityCountSid(PSID);






More information about the wine-patches mailing list