From 649b40cd137020e98efd575e14c49d2c88dd8e43 Mon Sep 17 00:00:00 2001 From: Stefan Ginsberg Date: Wed, 24 Sep 2008 15:27:54 +0000 Subject: [PATCH] - 64 bit fixes for Mm routines: Use SIZE_T and ULONG_PTR where appropriate - Note: MSDN is wrong about Nt/ZwAllocateVirtualMemory's ZeroBits. It really is a ULONG_PTR. svn path=/trunk/; revision=36484 --- reactos/include/ddk/ntifs.h | 2 +- reactos/include/ndk/mmfuncs.h | 48 ++++++++++++++--------------- reactos/ntoskrnl/mm/anonmem.c | 2 +- reactos/ntoskrnl/mm/section.c | 24 +++++++-------- reactos/ntoskrnl/mm/virtual.c | 58 +++++++++++++++++------------------ 5 files changed, 67 insertions(+), 67 deletions(-) diff --git a/reactos/include/ddk/ntifs.h b/reactos/include/ddk/ntifs.h index 5fa32bbb1b0..28b75553862 100644 --- a/reactos/include/ddk/ntifs.h +++ b/reactos/include/ddk/ntifs.h @@ -4870,7 +4870,7 @@ NTAPI ZwAllocateVirtualMemory ( IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress, - IN ULONG ZeroBits, + IN ULONG_PTR ZeroBits, IN OUT PSIZE_T RegionSize, IN ULONG AllocationType, IN ULONG Protect diff --git a/reactos/include/ndk/mmfuncs.h b/reactos/include/ndk/mmfuncs.h index 31c65256475..a1c7e8b3383 100644 --- a/reactos/include/ndk/mmfuncs.h +++ b/reactos/include/ndk/mmfuncs.h @@ -48,8 +48,8 @@ MmMapViewOfSection( IN PVOID SectionObject, IN PEPROCESS Process, IN OUT PVOID *BaseAddress, - IN ULONG ZeroBits, - IN ULONG CommitSize, + IN ULONG_PTR ZeroBits, + IN SIZE_T CommitSize, IN OUT PLARGE_INTEGER SectionOffset OPTIONAL, IN OUT PSIZE_T ViewSize, IN SECTION_INHERIT InheritDisposition, @@ -81,8 +81,8 @@ NTSTATUS NTAPI NtAllocateUserPhysicalPages( IN HANDLE ProcessHandle, - IN OUT PULONG NumberOfPages, - IN OUT PULONG UserPfnArray + IN OUT PULONG_PTR NumberOfPages, + IN OUT PULONG_PTR UserPfnArray ); NTSYSCALLAPI @@ -91,7 +91,7 @@ NTAPI NtAllocateVirtualMemory( IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress, - IN ULONG ZeroBits, + IN ULONG_PTR ZeroBits, IN OUT PSIZE_T RegionSize, IN ULONG AllocationType, IN ULONG Protect @@ -142,8 +142,8 @@ NTSTATUS NTAPI NtFreeUserPhysicalPages( IN HANDLE ProcessHandle, - IN OUT PULONG NumberOfPages, - IN OUT PULONG UserPfnArray + IN OUT PULONG_PTR NumberOfPages, + IN OUT PULONG_PTR UserPfnArray ); NTSYSCALLAPI @@ -163,9 +163,9 @@ NtGetWriteWatch( IN HANDLE ProcessHandle, IN ULONG Flags, IN PVOID BaseAddress, - IN ULONG RegionSize, + IN SIZE_T RegionSize, IN PVOID *UserAddressArray, - OUT PULONG EntriesInUserAddressArray, + OUT PULONG_PTR EntriesInUserAddressArray, OUT PULONG Granularity ); @@ -175,24 +175,24 @@ NTAPI NtLockVirtualMemory( HANDLE ProcessHandle, PVOID BaseAddress, - ULONG NumberOfBytesToLock, - PULONG NumberOfBytesLocked + SIZE_T NumberOfBytesToLock, + PSIZE_T NumberOfBytesLocked ); NTSTATUS NTAPI NtMapUserPhysicalPages( IN PVOID VirtualAddresses, - IN ULONG NumberOfPages, - IN OUT PULONG UserPfnArray + IN ULONG_PTR NumberOfPages, + IN OUT PULONG_PTR UserPfnArray ); NTSTATUS NTAPI NtMapUserPhysicalPagesScatter( IN PVOID *VirtualAddresses, - IN ULONG NumberOfPages, - IN OUT PULONG UserPfnArray + IN ULONG_PTR NumberOfPages, + IN OUT PULONG_PTR UserPfnArray ); NTSYSCALLAPI @@ -202,8 +202,8 @@ NtMapViewOfSection( IN HANDLE SectionHandle, IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress, - IN ULONG ZeroBits, - IN ULONG CommitSize, + IN ULONG_PTR ZeroBits, + IN SIZE_T CommitSize, IN OUT PLARGE_INTEGER SectionOffset OPTIONAL, IN OUT PSIZE_T ViewSize, IN SECTION_INHERIT InheritDisposition, @@ -226,7 +226,7 @@ NTAPI NtProtectVirtualMemory( IN HANDLE ProcessHandle, IN PVOID *BaseAddress, - IN ULONG *NumberOfBytesToProtect, + IN SIZE_T *NumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG OldAccessProtection ); @@ -316,7 +316,7 @@ NTAPI ZwAllocateVirtualMemory( IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress, - IN ULONG ZeroBits, + IN ULONG_PTR ZeroBits, IN OUT PSIZE_T RegionSize, IN ULONG AllocationType, IN ULONG Protect @@ -380,8 +380,8 @@ ZwMapViewOfSection( IN HANDLE SectionHandle, IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress, - IN ULONG ZeroBits, - IN ULONG CommitSize, + IN ULONG_PTR ZeroBits, + IN SIZE_T CommitSize, IN OUT PLARGE_INTEGER SectionOffset OPTIONAL, IN OUT PSIZE_T ViewSize, IN SECTION_INHERIT InheritDisposition, @@ -404,7 +404,7 @@ NTAPI ZwProtectVirtualMemory( IN HANDLE ProcessHandle, IN PVOID *BaseAddress, - IN ULONG *NumberOfBytesToProtect, + IN SIZE_T *NumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG OldAccessProtection ); @@ -468,8 +468,8 @@ ZwWriteVirtualMemory( IN HANDLE ProcessHandle, IN PVOID BaseAddress, IN PVOID Buffer, - IN ULONG NumberOfBytesToWrite, - OUT PULONG NumberOfBytesWritten + IN SIZE_T NumberOfBytesToWrite, + OUT PSIZE_T NumberOfBytesWritten ); #endif diff --git a/reactos/ntoskrnl/mm/anonmem.c b/reactos/ntoskrnl/mm/anonmem.c index 967e749b74a..ddda8b89287 100644 --- a/reactos/ntoskrnl/mm/anonmem.c +++ b/reactos/ntoskrnl/mm/anonmem.c @@ -522,7 +522,7 @@ MmModifyAttributes(PMM_AVL_TABLE AddressSpace, NTSTATUS STDCALL NtAllocateVirtualMemory(IN HANDLE ProcessHandle, IN OUT PVOID* UBaseAddress, - IN ULONG ZeroBits, + IN ULONG_PTR ZeroBits, IN OUT PSIZE_T URegionSize, IN ULONG AllocationType, IN ULONG Protect) diff --git a/reactos/ntoskrnl/mm/section.c b/reactos/ntoskrnl/mm/section.c index fd4ec5181ff..d439803efec 100644 --- a/reactos/ntoskrnl/mm/section.c +++ b/reactos/ntoskrnl/mm/section.c @@ -3662,8 +3662,8 @@ NTSTATUS STDCALL NtMapViewOfSection(IN HANDLE SectionHandle, IN HANDLE ProcessHandle, IN OUT PVOID* BaseAddress OPTIONAL, - IN ULONG ZeroBits OPTIONAL, - IN ULONG CommitSize, + IN ULONG_PTR ZeroBits OPTIONAL, + IN SIZE_T CommitSize, IN OUT PLARGE_INTEGER SectionOffset OPTIONAL, IN OUT PSIZE_T ViewSize, IN SECTION_INHERIT InheritDisposition, @@ -4482,8 +4482,8 @@ NTSTATUS STDCALL MmMapViewOfSection(IN PVOID SectionObject, IN PEPROCESS Process, IN OUT PVOID *BaseAddress, - IN ULONG ZeroBits, - IN ULONG CommitSize, + IN ULONG_PTR ZeroBits, + IN SIZE_T CommitSize, IN OUT PLARGE_INTEGER SectionOffset OPTIONAL, IN OUT PSIZE_T ViewSize, IN SECTION_INHERIT InheritDisposition, @@ -4954,8 +4954,8 @@ MmCreateSection (OUT PVOID * Section, NTSTATUS NTAPI NtAllocateUserPhysicalPages(IN HANDLE ProcessHandle, - IN OUT PULONG NumberOfPages, - IN OUT PULONG UserPfnArray) + IN OUT PULONG_PTR NumberOfPages, + IN OUT PULONG_PTR UserPfnArray) { UNIMPLEMENTED; return STATUS_NOT_IMPLEMENTED; @@ -4964,8 +4964,8 @@ NtAllocateUserPhysicalPages(IN HANDLE ProcessHandle, NTSTATUS NTAPI NtMapUserPhysicalPages(IN PVOID VirtualAddresses, - IN ULONG NumberOfPages, - IN OUT PULONG UserPfnArray) + IN ULONG_PTR NumberOfPages, + IN OUT PULONG_PTR UserPfnArray) { UNIMPLEMENTED; return STATUS_NOT_IMPLEMENTED; @@ -4974,8 +4974,8 @@ NtMapUserPhysicalPages(IN PVOID VirtualAddresses, NTSTATUS NTAPI NtMapUserPhysicalPagesScatter(IN PVOID *VirtualAddresses, - IN ULONG NumberOfPages, - IN OUT PULONG UserPfnArray) + IN ULONG_PTR NumberOfPages, + IN OUT PULONG_PTR UserPfnArray) { UNIMPLEMENTED; return STATUS_NOT_IMPLEMENTED; @@ -4984,8 +4984,8 @@ NtMapUserPhysicalPagesScatter(IN PVOID *VirtualAddresses, NTSTATUS NTAPI NtFreeUserPhysicalPages(IN HANDLE ProcessHandle, - IN OUT PULONG NumberOfPages, - IN OUT PULONG UserPfnArray) + IN OUT PULONG_PTR NumberOfPages, + IN OUT PULONG_PTR UserPfnArray) { UNIMPLEMENTED; return STATUS_NOT_IMPLEMENTED; diff --git a/reactos/ntoskrnl/mm/virtual.c b/reactos/ntoskrnl/mm/virtual.c index d8f70d432c6..1c990138a44 100644 --- a/reactos/ntoskrnl/mm/virtual.c +++ b/reactos/ntoskrnl/mm/virtual.c @@ -63,13 +63,13 @@ MiDoMappedCopy(IN PEPROCESS SourceProcess, IN PVOID SourceAddress, IN PEPROCESS TargetProcess, OUT PVOID TargetAddress, - IN ULONG BufferSize, + IN SIZE_T BufferSize, IN KPROCESSOR_MODE PreviousMode, - OUT PULONG ReturnSize) + OUT PSIZE_T ReturnSize) { PFN_NUMBER MdlBuffer[(sizeof(MDL) / sizeof(PFN_NUMBER)) + MI_MAPPED_COPY_PAGES + 1]; PMDL Mdl = (PMDL)MdlBuffer; - ULONG TotalSize, CurrentSize, RemainingSize; + SIZE_T TotalSize, CurrentSize, RemainingSize; volatile BOOLEAN FailedInProbe = FALSE, FailedInMapping = FALSE, FailedInMoving; BOOLEAN PagesLocked; PVOID CurrentAddress = SourceAddress, CurrentTargetAddress = TargetAddress; @@ -219,12 +219,12 @@ MiDoPoolCopy(IN PEPROCESS SourceProcess, IN PVOID SourceAddress, IN PEPROCESS TargetProcess, OUT PVOID TargetAddress, - IN ULONG BufferSize, + IN SIZE_T BufferSize, IN KPROCESSOR_MODE PreviousMode, - OUT PULONG ReturnSize) + OUT PSIZE_T ReturnSize) { UCHAR StackBuffer[MI_POOL_COPY_BYTES]; - ULONG TotalSize, CurrentSize, RemainingSize; + SIZE_T TotalSize, CurrentSize, RemainingSize; volatile BOOLEAN FailedInProbe = FALSE, FailedInMoving, HavePoolAddress = FALSE; PVOID CurrentAddress = SourceAddress, CurrentTargetAddress = TargetAddress; PVOID PoolAddress; @@ -365,9 +365,9 @@ MmCopyVirtualMemory(IN PEPROCESS SourceProcess, IN PVOID SourceAddress, IN PEPROCESS TargetProcess, OUT PVOID TargetAddress, - IN ULONG BufferSize, + IN SIZE_T BufferSize, IN KPROCESSOR_MODE PreviousMode, - OUT PULONG ReturnSize) + OUT PSIZE_T ReturnSize) { NTSTATUS Status; PEPROCESS Process = SourceProcess; @@ -419,8 +419,8 @@ MiQueryVirtualMemory(IN HANDLE ProcessHandle, IN PVOID Address, IN MEMORY_INFORMATION_CLASS VirtualMemoryInformationClass, OUT PVOID VirtualMemoryInformation, - IN ULONG Length, - OUT PULONG ResultLength) + IN SIZE_T Length, + OUT PSIZE_T ResultLength) { NTSTATUS Status; PEPROCESS Process; @@ -584,7 +584,7 @@ MiQueryVirtualMemory(IN HANDLE ProcessHandle, NTSTATUS STDCALL MiProtectVirtualMemory(IN PEPROCESS Process, IN OUT PVOID *BaseAddress, - IN OUT PULONG NumberOfBytesToProtect, + IN OUT PSIZE_T NumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG OldAccessProtection OPTIONAL) { @@ -678,13 +678,13 @@ NTAPI NtReadVirtualMemory(IN HANDLE ProcessHandle, IN PVOID BaseAddress, OUT PVOID Buffer, - IN ULONG NumberOfBytesToRead, - OUT PULONG NumberOfBytesRead OPTIONAL) + IN SIZE_T NumberOfBytesToRead, + OUT PSIZE_T NumberOfBytesRead OPTIONAL) { KPROCESSOR_MODE PreviousMode = ExGetPreviousMode(); PEPROCESS Process; NTSTATUS Status = STATUS_SUCCESS; - ULONG BytesRead = 0; + SIZE_T BytesRead = 0; PAGED_CODE(); /* Check if we came from user mode */ @@ -704,7 +704,7 @@ NtReadVirtualMemory(IN HANDLE ProcessHandle, _SEH_TRY { /* Probe the output value */ - if (NumberOfBytesRead) ProbeForWriteUlong(NumberOfBytesRead); + if (NumberOfBytesRead) ProbeForWriteSize_t(NumberOfBytesRead); } _SEH_HANDLE { @@ -765,8 +765,8 @@ NTAPI NtWriteVirtualMemory(IN HANDLE ProcessHandle, IN PVOID BaseAddress, IN PVOID Buffer, - IN ULONG NumberOfBytesToWrite, - OUT PULONG NumberOfBytesWritten OPTIONAL) + IN SIZE_T NumberOfBytesToWrite, + OUT PSIZE_T NumberOfBytesWritten OPTIONAL) { KPROCESSOR_MODE PreviousMode = ExGetPreviousMode(); PEPROCESS Process; @@ -791,7 +791,7 @@ NtWriteVirtualMemory(IN HANDLE ProcessHandle, _SEH_TRY { /* Probe the output value */ - if (NumberOfBytesWritten) ProbeForWriteUlong(NumberOfBytesWritten); + if (NumberOfBytesWritten) ProbeForWriteSize_t(NumberOfBytesWritten); } _SEH_HANDLE { @@ -851,14 +851,14 @@ NTSTATUS NTAPI NtProtectVirtualMemory(IN HANDLE ProcessHandle, IN OUT PVOID *UnsafeBaseAddress, - IN OUT ULONG *UnsafeNumberOfBytesToProtect, + IN OUT SIZE_T *UnsafeNumberOfBytesToProtect, IN ULONG NewAccessProtection, OUT PULONG UnsafeOldAccessProtection) { PEPROCESS Process; ULONG OldAccessProtection; PVOID BaseAddress = NULL; - ULONG NumberOfBytesToProtect = 0; + SIZE_T NumberOfBytesToProtect = 0; KPROCESSOR_MODE PreviousMode = ExGetPreviousMode(); NTSTATUS Status = STATUS_SUCCESS; @@ -870,7 +870,7 @@ NtProtectVirtualMemory(IN HANDLE ProcessHandle, { /* Validate all outputs */ ProbeForWritePointer(UnsafeBaseAddress); - ProbeForWriteUlong(UnsafeNumberOfBytesToProtect); + ProbeForWriteSize_t(UnsafeNumberOfBytesToProtect); ProbeForWriteUlong(UnsafeOldAccessProtection); /* Capture them */ @@ -950,11 +950,11 @@ NtQueryVirtualMemory(IN HANDLE ProcessHandle, IN PVOID Address, IN MEMORY_INFORMATION_CLASS VirtualMemoryInformationClass, OUT PVOID VirtualMemoryInformation, - IN ULONG Length, - OUT PULONG UnsafeResultLength) + IN SIZE_T Length, + OUT PSIZE_T UnsafeResultLength) { NTSTATUS Status = STATUS_SUCCESS; - ULONG ResultLength = 0; + SIZE_T ResultLength = 0; KPROCESSOR_MODE PreviousMode; union { @@ -974,7 +974,7 @@ NtQueryVirtualMemory(IN HANDLE ProcessHandle, { _SEH_TRY { - ProbeForWriteUlong(UnsafeResultLength); + ProbeForWriteSize_t(UnsafeResultLength); } _SEH_HANDLE { @@ -1050,8 +1050,8 @@ NTSTATUS NTAPI NtLockVirtualMemory(IN HANDLE ProcessHandle, IN PVOID BaseAddress, - IN ULONG NumberOfBytesToLock, - OUT PULONG NumberOfBytesLocked OPTIONAL) + IN SIZE_T NumberOfBytesToLock, + OUT PSIZE_T NumberOfBytesLocked OPTIONAL) { UNIMPLEMENTED; if (NumberOfBytesLocked) *NumberOfBytesLocked = 0; @@ -1062,8 +1062,8 @@ NTSTATUS NTAPI NtUnlockVirtualMemory(IN HANDLE ProcessHandle, IN PVOID BaseAddress, - IN ULONG NumberOfBytesToUnlock, - OUT PULONG NumberOfBytesUnlocked OPTIONAL) + IN SIZE_T NumberOfBytesToUnlock, + OUT PSIZE_T NumberOfBytesUnlocked OPTIONAL) { UNIMPLEMENTED; if (NumberOfBytesUnlocked) *NumberOfBytesUnlocked = 0;