[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