[PATCH 01/14] [DbgHelp]: make the module enumeration process compatible with 64bit platforms
Eric Pouech
eric.pouech at orange.fr
Sat Dec 12 05:18:22 CST 2009
A+
---
dlls/dbghelp/dbghelp.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/dlls/dbghelp/dbghelp.c b/dlls/dbghelp/dbghelp.c
index b501425..b540516 100644
--- a/dlls/dbghelp/dbghelp.c
+++ b/dlls/dbghelp/dbghelp.c
@@ -211,16 +211,16 @@ BOOL WINAPI SymGetSearchPath(HANDLE hProcess, PSTR szSearchPath,
* SymInitialize helper: loads in dbghelp all known (and loaded modules)
* this assumes that hProcess is a handle on a valid process
*/
-static BOOL WINAPI process_invade_cb(PCSTR name, ULONG base, ULONG size, PVOID user)
+static BOOL WINAPI process_invade_cb(PCWSTR name, ULONG64 base, ULONG size, PVOID user)
{
- char tmp[MAX_PATH];
+ WCHAR tmp[MAX_PATH];
HANDLE hProcess = user;
- if (!GetModuleFileNameExA(hProcess, (HMODULE)base,
- tmp, sizeof(tmp)))
- lstrcpynA(tmp, name, sizeof(tmp));
+ if (!GetModuleFileNameExW(hProcess, (HMODULE)(DWORD_PTR)base,
+ tmp, sizeof(tmp) / sizeof(WCHAR)))
+ lstrcpynW(tmp, name, sizeof(tmp) / sizeof(WCHAR));
- SymLoadModule(hProcess, 0, tmp, name, base, size);
+ SymLoadModuleExW(hProcess, 0, tmp, name, base, size, NULL, 0);
return TRUE;
}
@@ -326,7 +326,7 @@ BOOL WINAPI SymInitializeW(HANDLE hProcess, PCWSTR UserSearchPath, BOOL fInvadeP
if (check_live_target(pcs))
{
if (fInvadeProcess)
- EnumerateLoadedModules(hProcess, process_invade_cb, hProcess);
+ EnumerateLoadedModulesW64(hProcess, process_invade_cb, hProcess);
elf_synchronize_module_list(pcs);
macho_synchronize_module_list(pcs);
}
More information about the wine-patches
mailing list