dbghelp: Implement SymEnumerateSymbols64.

This commit is contained in:
Jon Griffiths 2008-06-19 20:02:44 -07:00 committed by Alexandre Julliard
parent bb647c9b67
commit c683753185
2 changed files with 28 additions and 1 deletions

View File

@ -48,7 +48,7 @@
@ stdcall SymEnumerateModules64(long ptr ptr) @ stdcall SymEnumerateModules64(long ptr ptr)
@ stdcall SymEnumerateModulesW64(long ptr ptr) @ stdcall SymEnumerateModulesW64(long ptr ptr)
@ stdcall SymEnumerateSymbols(long long ptr ptr) @ stdcall SymEnumerateSymbols(long long ptr ptr)
@ stub SymEnumerateSymbols64 @ stdcall SymEnumerateSymbols64(long double ptr ptr)
@ stub SymEnumerateSymbolsW @ stub SymEnumerateSymbolsW
@ stub SymEnumerateSymbolsW64 @ stub SymEnumerateSymbolsW64
@ stub SymFindDebugInfoFile @ stub SymFindDebugInfoFile

View File

@ -1055,6 +1055,33 @@ BOOL WINAPI SymEnumerateSymbols(HANDLE hProcess, DWORD BaseOfDll,
return SymEnumSymbols(hProcess, BaseOfDll, NULL, sym_enumerate_cb, &se); return SymEnumSymbols(hProcess, BaseOfDll, NULL, sym_enumerate_cb, &se);
} }
struct sym_enumerate64
{
void* ctx;
PSYM_ENUMSYMBOLS_CALLBACK64 cb;
};
static BOOL CALLBACK sym_enumerate_cb64(PSYMBOL_INFO syminfo, ULONG size, void* ctx)
{
struct sym_enumerate64* se = (struct sym_enumerate64*)ctx;
return (se->cb)(syminfo->Name, syminfo->Address, syminfo->Size, se->ctx);
}
/***********************************************************************
* SymEnumerateSymbols64 (DBGHELP.@)
*/
BOOL WINAPI SymEnumerateSymbols64(HANDLE hProcess, DWORD64 BaseOfDll,
PSYM_ENUMSYMBOLS_CALLBACK64 EnumSymbolsCallback,
PVOID UserContext)
{
struct sym_enumerate64 se;
se.ctx = UserContext;
se.cb = EnumSymbolsCallback;
return SymEnumSymbols(hProcess, BaseOfDll, NULL, sym_enumerate_cb64, &se);
}
/****************************************************************** /******************************************************************
* SymFromAddr (DBGHELP.@) * SymFromAddr (DBGHELP.@)
* *