Eric Pouech : dbghelp: Make the module enumeration process compatible with 64bit platforms.

Alexandre Julliard julliard at winehq.org
Mon Dec 14 09:51:23 CST 2009


Module: wine
Branch: master
Commit: c300f215b11bbbda79b1d94b3bf9077938fd76fe
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c300f215b11bbbda79b1d94b3bf9077938fd76fe

Author: Eric Pouech <eric.pouech at orange.fr>
Date:   Sat Dec 12 12:18:22 2009 +0100

dbghelp: Make the module enumeration process compatible with 64bit platforms.

---

 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-cvs mailing list