wine/ dlls/dbghelp/dbghelp.spec dlls/dbghelp/s ...

Alexandre Julliard julliard at wine.codeweavers.com
Tue Nov 29 05:09:21 CST 2005


ChangeSet ID:	21548
CVSROOT:	/opt/cvs-commit
Module name:	wine
Changes by:	julliard at winehq.org	2005/11/29 05:09:21

Modified files:
	dlls/dbghelp   : dbghelp.spec stack.c 
	include        : dbghelp.h 

Log message:
	Vitaliy Margolen <wine-patch at kievinfo.com>
	Stub StackWalk64.

Patch: http://cvs.winehq.org/patch.py?id=21548

Old revision  New revision  Changes     Path
 1.17          1.18          +1 -1       wine/dlls/dbghelp/dbghelp.spec
 1.11          1.12          +18 -0      wine/dlls/dbghelp/stack.c
 1.23          1.24          +46 -0      wine/include/dbghelp.h

Index: wine/dlls/dbghelp/dbghelp.spec
diff -u -p wine/dlls/dbghelp/dbghelp.spec:1.17 wine/dlls/dbghelp/dbghelp.spec:1.18
--- wine/dlls/dbghelp/dbghelp.spec:1.17	29 Nov 2005 11: 9:21 -0000
+++ wine/dlls/dbghelp/dbghelp.spec	29 Nov 2005 11: 9:21 -0000
@@ -23,7 +23,7 @@
 @ stdcall MiniDumpReadDumpStream(ptr long ptr ptr ptr)
 @ stdcall MiniDumpWriteDump(ptr long ptr long long long long)
 @ stdcall SearchTreeForFile(str str str)
-@ stub StackWalk64
+@ stdcall StackWalk64(long long long ptr ptr ptr ptr ptr ptr)
 @ stdcall StackWalk(long long long ptr ptr ptr ptr ptr ptr)
 @ stdcall SymCleanup(long)
 @ stdcall SymEnumLines(ptr double str str ptr ptr)
Index: wine/dlls/dbghelp/stack.c
diff -u -p wine/dlls/dbghelp/stack.c:1.11 wine/dlls/dbghelp/stack.c:1.12
--- wine/dlls/dbghelp/stack.c:1.11	29 Nov 2005 11: 9:21 -0000
+++ wine/dlls/dbghelp/stack.c	29 Nov 2005 11: 9:21 -0000
@@ -401,6 +401,24 @@ done_err:
     return FALSE;
 }
 
+/***********************************************************************
+ *		StackWalk64 (DBGHELP.@)
+ */
+BOOL WINAPI StackWalk64(DWORD MachineType, HANDLE hProcess, HANDLE hThread,
+                        LPSTACKFRAME64 frame, LPVOID ctx,
+                        PREAD_PROCESS_MEMORY_ROUTINE64 f_read_mem,
+                        PFUNCTION_TABLE_ACCESS_ROUTINE64 FunctionTableAccessRoutine,
+                        PGET_MODULE_BASE_ROUTINE64 GetModuleBaseRoutine,
+                        PTRANSLATE_ADDRESS_ROUTINE64 f_xlat_adr)
+{
+    FIXME("(%ld, %p, %p, %p, %p, %p, %p, %p, %p) - stub!\n",
+          MachineType, hProcess, hThread, frame, ctx,
+          f_read_mem, FunctionTableAccessRoutine,
+          GetModuleBaseRoutine, f_xlat_adr);
+    SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+    return FALSE;
+}
+
 /******************************************************************
  *		SymRegisterFunctionEntryCallback (DBGHELP.@)
  *
Index: wine/include/dbghelp.h
diff -u -p wine/include/dbghelp.h:1.23 wine/include/dbghelp.h:1.24
--- wine/include/dbghelp.h:1.23	29 Nov 2005 11: 9:21 -0000
+++ wine/include/dbghelp.h	29 Nov 2005 11: 9:21 -0000
@@ -60,6 +60,13 @@ typedef struct _tagADDRESS
     ADDRESS_MODE                Mode;
 } ADDRESS, *LPADDRESS;
 
+typedef struct _tagADDRESS64
+{
+    DWORD64                     Offset;
+    WORD                        Segment;
+    ADDRESS_MODE                Mode;
+} ADDRESS64, *LPADDRESS64;
+
 #define SYMF_OMAP_GENERATED   0x00000001
 #define SYMF_OMAP_MODIFIED    0x00000002
 #define SYMF_USER_GENERATED   0x00000004
@@ -864,6 +871,19 @@ typedef struct _KDHELP
     DWORD       SystemRangeStart;
 } KDHELP, *PKDHELP;
 
+typedef struct _KDHELP64
+{
+    DWORD64     Thread;
+    DWORD       ThCallbackStack;
+    DWORD       ThCallbackBStore;
+    DWORD       NextCallback;
+    DWORD       FramePointer;
+    DWORD64     KiCallUserMode;
+    DWORD64     KeUserCallbackDispatcher;
+    DWORD64     SystemRangeStart;
+    DWORD64     Reserved[8];
+} KDHELP64, *PKDHELP64;
+
 typedef struct _STACKFRAME
 {
     ADDRESS     AddrPC;
@@ -879,6 +899,21 @@ typedef struct _STACKFRAME
     ADDRESS     AddrBStore;
 } STACKFRAME, *LPSTACKFRAME;
 
+typedef struct _STACKFRAME64
+{
+    ADDRESS64   AddrPC;
+    ADDRESS64   AddrReturn;
+    ADDRESS64   AddrFrame;
+    ADDRESS64   AddrStack;
+    ADDRESS64   AddrBStore;
+    PVOID       FuncTableEntry;
+    DWORD64     Params[4];
+    BOOL        Far;
+    BOOL        Virtual;
+    DWORD64     Reserved[3];
+    KDHELP64    KdHelp;
+} STACKFRAME64, *LPSTACKFRAME64;
+
 typedef BOOL (CALLBACK *PREAD_PROCESS_MEMORY_ROUTINE)
     (HANDLE, DWORD, PVOID, DWORD, PDWORD);
 typedef PVOID (CALLBACK *PFUNCTION_TABLE_ACCESS_ROUTINE)(HANDLE, DWORD);
@@ -890,6 +925,17 @@ BOOL WINAPI StackWalk(DWORD, HANDLE, HAN
                       PGET_MODULE_BASE_ROUTINE,
                       PTRANSLATE_ADDRESS_ROUTINE);
 
+typedef BOOL (CALLBACK *PREAD_PROCESS_MEMORY_ROUTINE64)
+    (HANDLE, DWORD64, PVOID, DWORD, PDWORD);
+typedef PVOID (CALLBACK *PFUNCTION_TABLE_ACCESS_ROUTINE64)(HANDLE, DWORD64);
+typedef DWORD (CALLBACK *PGET_MODULE_BASE_ROUTINE64)(HANDLE, DWORD64);
+typedef DWORD (CALLBACK *PTRANSLATE_ADDRESS_ROUTINE64)(HANDLE, HANDLE, LPADDRESS64);
+BOOL WINAPI StackWalk64(DWORD, HANDLE, HANDLE, LPSTACKFRAME64, PVOID,
+                        PREAD_PROCESS_MEMORY_ROUTINE64,
+                        PFUNCTION_TABLE_ACCESS_ROUTINE64,
+                        PGET_MODULE_BASE_ROUTINE64,
+                        PTRANSLATE_ADDRESS_ROUTINE64);
+
 PVOID WINAPI SymFunctionTableAccess(HANDLE, DWORD);
 
 typedef PVOID (CALLBACK *PSYMBOL_FUNCENTRY_CALLBACK)(HANDLE, DWORD, PVOID);



More information about the wine-cvs mailing list