[PATCH 06/11] dbgHelp: added stub implementation of SymFromInlineContext(W)
Eric Pouech
eric.pouech at gmail.com
Tue Oct 19 08:51:24 CDT 2021
Signed-off-by: Eric Pouech <eric.pouech at gmail.com>
---
dlls/dbghelp/dbghelp.spec | 4 ++--
dlls/dbghelp/symbol.c | 37 +++++++++++++++++++++++++++++++++++++
2 files changed, 39 insertions(+), 2 deletions(-)
diff --git a/dlls/dbghelp/dbghelp.spec b/dlls/dbghelp/dbghelp.spec
index e96c2e0d3fd..474c172df67 100644
--- a/dlls/dbghelp/dbghelp.spec
+++ b/dlls/dbghelp/dbghelp.spec
@@ -77,8 +77,8 @@
@ stdcall SymFromAddrW(ptr int64 ptr ptr)
@ stdcall SymFromIndex(long int64 long ptr)
@ stdcall SymFromIndexW(long int64 long ptr)
-@ stub SymFromInlineContext
-@ stub SymFromInlineContextW
+@ stdcall SymFromInlineContext(long int64 long ptr ptr)
+@ stdcall SymFromInlineContextW(long int64 long ptr ptr)
@ stdcall SymFromName(long str ptr)
@ stdcall SymFromNameW(long wstr ptr)
@ stub SymFromToken
diff --git a/dlls/dbghelp/symbol.c b/dlls/dbghelp/symbol.c
index 76c92414b89..f6fa5c8ab43 100644
--- a/dlls/dbghelp/symbol.c
+++ b/dlls/dbghelp/symbol.c
@@ -2503,3 +2503,40 @@ PWSTR WINAPI SymSetHomeDirectoryW(HANDLE hProcess, PCWSTR dir)
return NULL;
}
+
+/******************************************************************
+ * SymFromInlineContext (DBGHELP.@)
+ *
+ */
+BOOL WINAPI SymFromInlineContext(HANDLE hProcess, DWORD64 addr, ULONG inline_ctx, PDWORD64 disp, PSYMBOL_INFO si)
+{
+ FIXME("(%p, %#I64x, 0x%x, %p, %p): stub\n", hProcess, addr, inline_ctx, disp, si);
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return FALSE;
+}
+
+/******************************************************************
+ * SymFromInlineContextW (DBGHELP.@)
+ *
+ */
+BOOL WINAPI SymFromInlineContextW(HANDLE hProcess, DWORD64 addr, ULONG inline_ctx, PDWORD64 disp, PSYMBOL_INFOW siW)
+{
+ PSYMBOL_INFO si;
+ unsigned len;
+ BOOL ret;
+
+ TRACE("(%p, %#I64x, 0x%x, %p, %p)\n", hProcess, addr, inline_ctx, disp, siW);
+
+ len = sizeof(*si) + siW->MaxNameLen * sizeof(WCHAR);
+ si = HeapAlloc(GetProcessHeap(), 0, len);
+ if (!si) return FALSE;
+
+ si->SizeOfStruct = sizeof(*si);
+ si->MaxNameLen = siW->MaxNameLen;
+ if ((ret = SymFromInlineContext(hProcess, addr, inline_ctx, disp, si)))
+ {
+ copy_symbolW(siW, si);
+ }
+ HeapFree(GetProcessHeap(), 0, si);
+ return ret;
+}
More information about the wine-devel
mailing list