Module: wine Branch: master Commit: 49a44342fa1774e35044f7b9e3ea43f2f82ca8cb URL: http://source.winehq.org/git/wine.git/?a=commit;h=49a44342fa1774e35044f7b9e3...
Author: Eric Pouech eric.pouech@orange.fr Date: Mon Sep 29 21:30:29 2008 +0200
dbghelp: Added stubs for add symbol functions.
---
dlls/dbghelp/dbghelp.spec | 4 ++-- dlls/dbghelp/symbol.c | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 2 deletions(-)
diff --git a/dlls/dbghelp/dbghelp.spec b/dlls/dbghelp/dbghelp.spec index b95a9e7..360c6d4 100644 --- a/dlls/dbghelp/dbghelp.spec +++ b/dlls/dbghelp/dbghelp.spec @@ -30,8 +30,8 @@ @ stdcall SearchTreeForFileW(wstr wstr ptr) @ stdcall StackWalk(long long long ptr ptr ptr ptr ptr ptr) @ stdcall StackWalk64(long long long ptr ptr ptr ptr ptr ptr) -@ stub SymAddSymbol -@ stub SymAddSymbolW +@ stdcall SymAddSymbol(ptr double str double long long) +@ stdcall SymAddSymbolW(ptr double wstr double long long) @ stdcall SymCleanup(long) @ stdcall SymEnumLines(ptr double str str ptr ptr) @ stub SymEnumLinesW diff --git a/dlls/dbghelp/symbol.c b/dlls/dbghelp/symbol.c index 682f37a..ca6ec61 100644 --- a/dlls/dbghelp/symbol.c +++ b/dlls/dbghelp/symbol.c @@ -1716,3 +1716,37 @@ BOOL WINAPI SymSearchW(HANDLE hProcess, ULONG64 BaseOfDll, DWORD Index,
return ret; } + +/****************************************************************** + * SymAddSymbol (DBGHELP.@) + * + */ +BOOL WINAPI SymAddSymbol(HANDLE hProcess, ULONG64 BaseOfDll, PCSTR name, + DWORD64 addr, DWORD size, DWORD flags) +{ + WCHAR nameW[MAX_SYM_NAME]; + + MultiByteToWideChar(CP_ACP, 0, name, -1, nameW, sizeof(nameW) / sizeof(WCHAR)); + return SymAddSymbolW(hProcess, BaseOfDll, nameW, addr, size, flags); +} + +/****************************************************************** + * SymAddSymbolW (DBGHELP.@) + * + */ +BOOL WINAPI SymAddSymbolW(HANDLE hProcess, ULONG64 BaseOfDll, PCWSTR name, + DWORD64 addr, DWORD size, DWORD flags) +{ + struct module_pair pair; + + TRACE("(%p %s %s %u)\n", hProcess, wine_dbgstr_w(name), wine_dbgstr_longlong(addr), size); + + pair.pcs = process_find_by_handle(hProcess); + if (!pair.pcs) return FALSE; + pair.requested = module_find_by_addr(pair.pcs, BaseOfDll, DMT_UNKNOWN); + if (!module_get_debug(&pair)) return FALSE; + + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} +