dbghelp: Rewrite SymGetModuleBase so that it relies on 64 bit version.

This commit is contained in:
Eric Pouech 2010-03-27 09:09:02 +01:00 committed by Alexandre Julliard
parent a5293895a3
commit 0c2401369c
1 changed files with 10 additions and 8 deletions

View File

@ -1034,13 +1034,10 @@ BOOL WINAPI SymGetModuleInfoW64(HANDLE hProcess, DWORD64 dwAddr,
*/ */
DWORD WINAPI SymGetModuleBase(HANDLE hProcess, DWORD dwAddr) DWORD WINAPI SymGetModuleBase(HANDLE hProcess, DWORD dwAddr)
{ {
struct process* pcs = process_find_by_handle(hProcess); DWORD64 ret;
struct module* module;
if (!pcs) return 0; ret = SymGetModuleBase64(hProcess, dwAddr);
module = module_find_by_addr(pcs, dwAddr, DMT_UNKNOWN); return validate_addr64(ret) ? ret : 0;
if (!module) return 0;
return module->module.BaseOfImage;
} }
/*********************************************************************** /***********************************************************************
@ -1048,8 +1045,13 @@ DWORD WINAPI SymGetModuleBase(HANDLE hProcess, DWORD dwAddr)
*/ */
DWORD64 WINAPI SymGetModuleBase64(HANDLE hProcess, DWORD64 dwAddr) DWORD64 WINAPI SymGetModuleBase64(HANDLE hProcess, DWORD64 dwAddr)
{ {
if (!validate_addr64(dwAddr)) return 0; struct process* pcs = process_find_by_handle(hProcess);
return SymGetModuleBase(hProcess, (DWORD)dwAddr); struct module* module;
if (!pcs) return 0;
module = module_find_by_addr(pcs, dwAddr, DMT_UNKNOWN);
if (!module) return 0;
return module->module.BaseOfImage;
} }
/****************************************************************** /******************************************************************