Module: wine Branch: refs/heads/master Commit: 1a5f7f59263d9afc083bcad17b70139f6b709081 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=1a5f7f59263d9afc083bcad1...
Author: Eric Pouech eric.pouech@wanadoo.fr Date: Mon Jun 26 21:37:36 2006 +0200
dbghelp: Implemented SymEnumerateModules64.
---
dlls/dbghelp/dbghelp.spec | 2 +- dlls/dbghelp/module.c | 24 ++++++++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletions(-)
diff --git a/dlls/dbghelp/dbghelp.spec b/dlls/dbghelp/dbghelp.spec index b15aae7..ca688ee 100644 --- a/dlls/dbghelp/dbghelp.spec +++ b/dlls/dbghelp/dbghelp.spec @@ -45,7 +45,7 @@ @ stdcall SymEnumTypes(ptr double ptr ptr) @ stub SymEnumTypesW @ stdcall SymEnumerateModules(long ptr ptr) -@ stub SymEnumerateModules64 +@ stdcall SymEnumerateModules64(long ptr ptr) @ stub SymEnumerateModulesW64 @ stdcall SymEnumerateSymbols(long long ptr ptr) @ stub SymEnumerateSymbols64 diff --git a/dlls/dbghelp/module.c b/dlls/dbghelp/module.c index c1c5ded..a08cf12 100644 --- a/dlls/dbghelp/module.c +++ b/dlls/dbghelp/module.c @@ -608,6 +608,30 @@ BOOL WINAPI SymEnumerateModules(HANDLE }
/****************************************************************** + * SymEnumerateModules64 (DBGHELP.@) + * + */ +BOOL WINAPI SymEnumerateModules64(HANDLE hProcess, + PSYM_ENUMMODULES_CALLBACK64 EnumModulesCallback, + PVOID UserContext) +{ + struct process* pcs = process_find_by_handle(hProcess); + struct module* module; + + if (!pcs) return FALSE; + + for (module = pcs->lmodules; module; module = module->next) + { + if (!(dbghelp_options & SYMOPT_WINE_WITH_ELF_MODULES) && module->type == DMT_ELF) + continue; + if (!EnumModulesCallback(module->module.ModuleName, + module->module.BaseOfImage, UserContext)) + break; + } + return TRUE; +} + +/****************************************************************** * EnumerateLoadedModules (DBGHELP.@) * */