dbghelp: Add a few more 64-bit symbol functions.
This commit is contained in:
parent
083473659b
commit
329c22f323
@ -118,11 +118,11 @@
|
|||||||
@ stdcall SymGetSymFromAddr(long long ptr ptr)
|
@ stdcall SymGetSymFromAddr(long long ptr ptr)
|
||||||
@ stdcall SymGetSymFromAddr64(long double ptr ptr)
|
@ stdcall SymGetSymFromAddr64(long double ptr ptr)
|
||||||
@ stdcall SymGetSymFromName(long str ptr)
|
@ stdcall SymGetSymFromName(long str ptr)
|
||||||
@ stub SymGetSymFromName64
|
@ stdcall SymGetSymFromName64(long str ptr)
|
||||||
@ stdcall SymGetSymNext(long ptr)
|
@ stdcall SymGetSymNext(long ptr)
|
||||||
@ stub SymGetSymNext64
|
@ stdcall SymGetSymNext64(long ptr)
|
||||||
@ stdcall SymGetSymPrev(long ptr)
|
@ stdcall SymGetSymPrev(long ptr)
|
||||||
@ stub SymGetSymPrev64
|
@ stdcall SymGetSymPrev64(long ptr)
|
||||||
@ stub SymGetSymbolFile
|
@ stub SymGetSymbolFile
|
||||||
@ stub SymGetSymbolFileW
|
@ stub SymGetSymbolFileW
|
||||||
@ stdcall SymGetTypeFromName(ptr double str ptr)
|
@ stdcall SymGetTypeFromName(ptr double str ptr)
|
||||||
@ -180,7 +180,7 @@
|
|||||||
# @ stub SymSetSymWithAddr64 no longer present ??
|
# @ stub SymSetSymWithAddr64 no longer present ??
|
||||||
@ stub SymSetSymWithAddr64
|
@ stub SymSetSymWithAddr64
|
||||||
@ stdcall SymUnDName(ptr str long)
|
@ stdcall SymUnDName(ptr str long)
|
||||||
@ stub SymUnDName64
|
@ stdcall SymUnDName64(ptr str long)
|
||||||
@ stdcall SymUnloadModule(long long)
|
@ stdcall SymUnloadModule(long long)
|
||||||
@ stdcall SymUnloadModule64(long double)
|
@ stdcall SymUnloadModule64(long double)
|
||||||
@ stdcall UnDecorateSymbolName(str str long long)
|
@ stdcall UnDecorateSymbolName(str str long long)
|
||||||
|
@ -1349,6 +1349,28 @@ BOOL WINAPI SymFromName(HANDLE hProcess, PCSTR Name, PSYMBOL_INFO Symbol)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* SymGetSymFromName64 (DBGHELP.@)
|
||||||
|
*/
|
||||||
|
BOOL WINAPI SymGetSymFromName64(HANDLE hProcess, PCSTR Name, PIMAGEHLP_SYMBOL64 Symbol)
|
||||||
|
{
|
||||||
|
char buffer[sizeof(SYMBOL_INFO) + MAX_SYM_NAME];
|
||||||
|
SYMBOL_INFO*si = (SYMBOL_INFO*)buffer;
|
||||||
|
size_t len;
|
||||||
|
|
||||||
|
if (Symbol->SizeOfStruct < sizeof(*Symbol)) return FALSE;
|
||||||
|
si->SizeOfStruct = sizeof(*si);
|
||||||
|
si->MaxNameLen = MAX_SYM_NAME;
|
||||||
|
if (!SymFromName(hProcess, Name, si)) return FALSE;
|
||||||
|
|
||||||
|
Symbol->Address = si->Address;
|
||||||
|
Symbol->Size = si->Size;
|
||||||
|
Symbol->Flags = si->Flags;
|
||||||
|
len = min(Symbol->MaxNameLength, si->MaxNameLen);
|
||||||
|
lstrcpynA(Symbol->Name, si->Name, len);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* SymGetSymFromName (DBGHELP.@)
|
* SymGetSymFromName (DBGHELP.@)
|
||||||
*/
|
*/
|
||||||
@ -1407,9 +1429,9 @@ BOOL symt_fill_func_line_info(const struct module* module, const struct symt_fun
|
|||||||
}
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* SymGetSymNext (DBGHELP.@)
|
* SymGetSymNext64 (DBGHELP.@)
|
||||||
*/
|
*/
|
||||||
BOOL WINAPI SymGetSymNext(HANDLE hProcess, PIMAGEHLP_SYMBOL Symbol)
|
BOOL WINAPI SymGetSymNext64(HANDLE hProcess, PIMAGEHLP_SYMBOL64 Symbol)
|
||||||
{
|
{
|
||||||
/* algo:
|
/* algo:
|
||||||
* get module from Symbol.Address
|
* get module from Symbol.Address
|
||||||
@ -1422,10 +1444,29 @@ BOOL WINAPI SymGetSymNext(HANDLE hProcess, PIMAGEHLP_SYMBOL Symbol)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* SymGetSymNext (DBGHELP.@)
|
||||||
|
*/
|
||||||
|
BOOL WINAPI SymGetSymNext(HANDLE hProcess, PIMAGEHLP_SYMBOL Symbol)
|
||||||
|
{
|
||||||
|
FIXME("(%p, %p): stub\n", hProcess, Symbol);
|
||||||
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* SymGetSymPrev64 (DBGHELP.@)
|
||||||
|
*/
|
||||||
|
BOOL WINAPI SymGetSymPrev64(HANDLE hProcess, PIMAGEHLP_SYMBOL64 Symbol)
|
||||||
|
{
|
||||||
|
FIXME("(%p, %p): stub\n", hProcess, Symbol);
|
||||||
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
* SymGetSymPrev (DBGHELP.@)
|
* SymGetSymPrev (DBGHELP.@)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
BOOL WINAPI SymGetSymPrev(HANDLE hProcess, PIMAGEHLP_SYMBOL Symbol)
|
BOOL WINAPI SymGetSymPrev(HANDLE hProcess, PIMAGEHLP_SYMBOL Symbol)
|
||||||
{
|
{
|
||||||
FIXME("(%p, %p): stub\n", hProcess, Symbol);
|
FIXME("(%p, %p): stub\n", hProcess, Symbol);
|
||||||
@ -1685,7 +1726,15 @@ PVOID WINAPI SymFunctionTableAccess64(HANDLE hProcess, DWORD64 AddrBase)
|
|||||||
*/
|
*/
|
||||||
BOOL WINAPI SymUnDName(PIMAGEHLP_SYMBOL sym, PSTR UnDecName, DWORD UnDecNameLength)
|
BOOL WINAPI SymUnDName(PIMAGEHLP_SYMBOL sym, PSTR UnDecName, DWORD UnDecNameLength)
|
||||||
{
|
{
|
||||||
TRACE("(%p %s %u)\n", sym, UnDecName, UnDecNameLength);
|
return UnDecorateSymbolName(sym->Name, UnDecName, UnDecNameLength,
|
||||||
|
UNDNAME_COMPLETE) != 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/***********************************************************************
|
||||||
|
* SymUnDName64 (DBGHELP.@)
|
||||||
|
*/
|
||||||
|
BOOL WINAPI SymUnDName64(PIMAGEHLP_SYMBOL64 sym, PSTR UnDecName, DWORD UnDecNameLength)
|
||||||
|
{
|
||||||
return UnDecorateSymbolName(sym->Name, UnDecName, UnDecNameLength,
|
return UnDecorateSymbolName(sym->Name, UnDecName, UnDecNameLength,
|
||||||
UNDNAME_COMPLETE) != 0;
|
UNDNAME_COMPLETE) != 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user