From 9d500537c2d6eef87273ef8a5ec6b09307c48884 Mon Sep 17 00:00:00 2001 From: Samuel Serapion Date: Wed, 24 Sep 2008 12:03:27 +0000 Subject: [PATCH] - Fix ReadProcessMemory and Toolhelp32ReadProcessMemory definitions. - Numerous 64bit fixes. - Remove useless cast. - Remove Fls API exports as per trunk. svn path=/branches/ros-amd64-bringup/; revision=36475 --- reactos/dll/win32/kernel32/except/except.c | 16 +++++--------- reactos/dll/win32/kernel32/kernel32.spec | 8 +++---- reactos/dll/win32/kernel32/mem/procmem.c | 4 ++-- reactos/dll/win32/kernel32/mem/virtual.c | 2 +- reactos/dll/win32/kernel32/misc/toolhelp.c | 22 ++++++++++---------- reactos/dll/win32/kernel32/misc/utils.c | 2 +- reactos/dll/win32/kernel32/process/procsup.c | 2 +- 7 files changed, 25 insertions(+), 31 deletions(-) diff --git a/reactos/dll/win32/kernel32/except/except.c b/reactos/dll/win32/kernel32/except/except.c index 7cd8a3e6f25..b61648dd150 100644 --- a/reactos/dll/win32/kernel32/except/except.c +++ b/reactos/dll/win32/kernel32/except/except.c @@ -124,10 +124,11 @@ _module_name_from_addr(const void* addr, void **module_start_addr, return psz; } -#ifdef _M_IX86 + static VOID _dump_context(PCONTEXT pc) { +#ifdef _M_IX86 /* * Print out the CPU registers */ @@ -138,10 +139,7 @@ _dump_context(PCONTEXT pc) DbgPrint("EDX: %.8x EBP: %.8x ESI: %.8x ESP: %.8x\n", pc->Edx, pc->Ebp, pc->Esi, pc->Esp); DbgPrint("EDI: %.8x EFLAGS: %.8x\n", pc->Edi, pc->EFlags); -} #elif defined(_M_AMD64) -_dump_context(PCONTEXT pc) -{ DbgPrint("CS:EIP %x:%I64x\n", pc->SegCs&0xffff, pc->Rip ); DbgPrint("DS %x ES %x FS %x GS %x\n", pc->SegDs&0xffff, pc->SegEs&0xffff, pc->SegFs&0xffff, pc->SegGs&0xfff); @@ -150,14 +148,10 @@ _dump_context(PCONTEXT pc) DbgPrint("R8: %I64x R9: %I64x R10: %I64x R11: %I64x\n", pc->R8, pc->R9, pc->R10, pc->R11); DbgPrint("R12: %I64x R13: %I64x R14: %I64x R15: %I64x\n", pc->R12, pc->R13, pc->R14, pc->R15); DbgPrint("EFLAGS: %.8x\n", pc->EFlags); -} #else #warning Unknown architecture -static VOID -_dump_context(PCONTEXT pc) -{ -} #endif +} static LONG BasepCheckForReadOnlyResource(IN PVOID Ptr) @@ -225,7 +219,7 @@ UnhandledExceptionFilter(struct _EXCEPTION_POINTERS *ExceptionInfo) LONG RetValue; HANDLE DebugPort = NULL; NTSTATUS ErrCode; - ULONG ErrorParameters[4]; + ULONG_PTR ErrorParameters[4]; ULONG ErrorResponse; if (ExceptionInfo->ExceptionRecord->ExceptionCode == STATUS_ACCESS_VIOLATION && @@ -322,7 +316,7 @@ UnhandledExceptionFilter(struct _EXCEPTION_POINTERS *ExceptionInfo) /* Save exception code and address */ ErrorParameters[0] = (ULONG)ExceptionInfo->ExceptionRecord->ExceptionCode; - ErrorParameters[1] = (ULONG)ExceptionInfo->ExceptionRecord->ExceptionAddress; + ErrorParameters[1] = (ULONG_PTR)ExceptionInfo->ExceptionRecord->ExceptionAddress; if (ExceptionInfo->ExceptionRecord->ExceptionCode == STATUS_ACCESS_VIOLATION) { diff --git a/reactos/dll/win32/kernel32/kernel32.spec b/reactos/dll/win32/kernel32/kernel32.spec index a5471da0ecc..81fc6d49703 100644 --- a/reactos/dll/win32/kernel32/kernel32.spec +++ b/reactos/dll/win32/kernel32/kernel32.spec @@ -250,10 +250,10 @@ @ stdcall FindResourceW(long wstr wstr) @ stdcall FindVolumeClose(ptr) @ stdcall FindVolumeMountPointClose(ptr) -@ stdcall FlsAlloc(ptr) -@ stdcall FlsFree(long) -@ stdcall FlsGetValue(long) -@ stdcall FlsSetValue(long ptr) +#@ stdcall FlsAlloc(ptr) +#@ stdcall FlsFree(long) +#@ stdcall FlsGetValue(long) +#@ stdcall FlsSetValue(long ptr) @ stdcall FlushConsoleInputBuffer(long) @ stdcall FlushFileBuffers(long) @ stdcall FlushInstructionCache(long long long) diff --git a/reactos/dll/win32/kernel32/mem/procmem.c b/reactos/dll/win32/kernel32/mem/procmem.c index 630243e0ceb..354804e75c6 100644 --- a/reactos/dll/win32/kernel32/mem/procmem.c +++ b/reactos/dll/win32/kernel32/mem/procmem.c @@ -23,8 +23,8 @@ NTAPI ReadProcessMemory(IN HANDLE hProcess, IN LPCVOID lpBaseAddress, IN LPVOID lpBuffer, - IN DWORD nSize, - OUT LPDWORD lpNumberOfBytesRead) + IN SIZE_T nSize, + OUT SIZE_T* lpNumberOfBytesRead) { NTSTATUS Status; diff --git a/reactos/dll/win32/kernel32/mem/virtual.c b/reactos/dll/win32/kernel32/mem/virtual.c index 6caf2573bad..aa0b6e5607f 100644 --- a/reactos/dll/win32/kernel32/mem/virtual.c +++ b/reactos/dll/win32/kernel32/mem/virtual.c @@ -79,7 +79,7 @@ VirtualFreeEx(IN HANDLE hProcess, /* Free the memory */ Status = NtFreeVirtualMemory(hProcess, (PVOID *)&lpAddress, - (PULONG)&dwSize, + &dwSize, dwFreeType); if (!NT_SUCCESS(Status)) { diff --git a/reactos/dll/win32/kernel32/misc/toolhelp.c b/reactos/dll/win32/kernel32/misc/toolhelp.c index c2773f7e6a4..02cb298fa80 100644 --- a/reactos/dll/win32/kernel32/misc/toolhelp.c +++ b/reactos/dll/win32/kernel32/misc/toolhelp.c @@ -225,8 +225,8 @@ TH32CreateSnapshotSectionInitialize(DWORD dwFlags, HANDLE hSection; PTH32SNAPSHOT Snapshot; ULONG_PTR DataOffset; - ULONG ViewSize, i; - ULONG nProcesses = 0, nThreads = 0, nHeaps = 0, nModules = 0; + SIZE_T ViewSize; + ULONG i, nProcesses = 0, nThreads = 0, nHeaps = 0, nModules = 0; ULONG RequiredSnapshotSize = sizeof(TH32SNAPSHOT); PRTL_PROCESS_HEAPS hi = NULL; PRTL_PROCESS_MODULES mi = NULL; @@ -670,7 +670,7 @@ Heap32ListFirst(HANDLE hSnapshot, LPHEAPLIST32 lphl) { PTH32SNAPSHOT Snapshot; LARGE_INTEGER SOffset; - ULONG ViewSize; + SIZE_T ViewSize; NTSTATUS Status; CHECK_PARAM_SIZE(lphl, sizeof(HEAPLIST32)); @@ -724,7 +724,7 @@ Heap32ListNext(HANDLE hSnapshot, LPHEAPLIST32 lphl) { PTH32SNAPSHOT Snapshot; LARGE_INTEGER SOffset; - ULONG ViewSize; + SIZE_T ViewSize; NTSTATUS Status; CHECK_PARAM_SIZE(lphl, sizeof(HEAPLIST32)); @@ -811,7 +811,7 @@ Module32FirstW(HANDLE hSnapshot, LPMODULEENTRY32W lpme) { PTH32SNAPSHOT Snapshot; LARGE_INTEGER SOffset; - ULONG ViewSize; + SIZE_T ViewSize; NTSTATUS Status; CHECK_PARAM_SIZE(lpme, sizeof(MODULEENTRY32W)); @@ -898,7 +898,7 @@ Module32NextW(HANDLE hSnapshot, LPMODULEENTRY32W lpme) { PTH32SNAPSHOT Snapshot; LARGE_INTEGER SOffset; - ULONG ViewSize; + SIZE_T ViewSize; NTSTATUS Status; CHECK_PARAM_SIZE(lpme, sizeof(MODULEENTRY32W)); @@ -985,7 +985,7 @@ Process32FirstW(HANDLE hSnapshot, LPPROCESSENTRY32W lppe) { PTH32SNAPSHOT Snapshot; LARGE_INTEGER SOffset; - ULONG ViewSize; + SIZE_T ViewSize; NTSTATUS Status; CHECK_PARAM_SIZE(lppe, sizeof(PROCESSENTRY32W)); @@ -1074,7 +1074,7 @@ Process32NextW(HANDLE hSnapshot, LPPROCESSENTRY32W lppe) { PTH32SNAPSHOT Snapshot; LARGE_INTEGER SOffset; - ULONG ViewSize; + SIZE_T ViewSize; NTSTATUS Status; CHECK_PARAM_SIZE(lppe, sizeof(PROCESSENTRY32W)); @@ -1128,7 +1128,7 @@ Thread32First(HANDLE hSnapshot, LPTHREADENTRY32 lpte) { PTH32SNAPSHOT Snapshot; LARGE_INTEGER SOffset; - ULONG ViewSize; + SIZE_T ViewSize; NTSTATUS Status; CHECK_PARAM_SIZE(lpte, sizeof(THREADENTRY32)); @@ -1182,7 +1182,7 @@ Thread32Next(HANDLE hSnapshot, LPTHREADENTRY32 lpte) { PTH32SNAPSHOT Snapshot; LARGE_INTEGER SOffset; - ULONG ViewSize; + SIZE_T ViewSize; NTSTATUS Status; CHECK_PARAM_SIZE(lpte, sizeof(THREADENTRY32)); @@ -1233,7 +1233,7 @@ Thread32Next(HANDLE hSnapshot, LPTHREADENTRY32 lpte) BOOL STDCALL Toolhelp32ReadProcessMemory(DWORD th32ProcessID, LPCVOID lpBaseAddress, - LPVOID lpBuffer, DWORD cbRead, LPDWORD lpNumberOfBytesRead) + LPVOID lpBuffer, SIZE_T cbRead, SIZE_T* lpNumberOfBytesRead) { HANDLE hProcess = OpenProcess(PROCESS_VM_READ, FALSE, th32ProcessID); if(hProcess != NULL) diff --git a/reactos/dll/win32/kernel32/misc/utils.c b/reactos/dll/win32/kernel32/misc/utils.c index dc663f0ff03..49c52e6d1ef 100644 --- a/reactos/dll/win32/kernel32/misc/utils.c +++ b/reactos/dll/win32/kernel32/misc/utils.c @@ -318,7 +318,7 @@ STDCALL BasepFreeStack(HANDLE hProcess, PINITIAL_TEB InitialTeb) { - ULONG Dummy = 0; + SIZE_T Dummy = 0; /* Free the Stack */ NtFreeVirtualMemory(hProcess, diff --git a/reactos/dll/win32/kernel32/process/procsup.c b/reactos/dll/win32/kernel32/process/procsup.c index 4f3c487e460..de69f054b99 100644 --- a/reactos/dll/win32/kernel32/process/procsup.c +++ b/reactos/dll/win32/kernel32/process/procsup.c @@ -288,7 +288,7 @@ BasepDuplicateAndWriteHandle(IN HANDLE ProcessHandle, { NTSTATUS Status; HANDLE DuplicatedHandle; - ULONG Dummy; + SIZE_T Dummy; DPRINT("BasepDuplicateAndWriteHandle. hProcess: %lx, Handle: %lx," "Address: %p\n", ProcessHandle, StandardHandle, Address);