wine/include imagehlp.h

Alexandre Julliard julliard at wine.codeweavers.com
Mon Nov 28 05:03:10 CST 2005


ChangeSet ID:	21469
CVSROOT:	/opt/cvs-commit
Module name:	wine
Changes by:	julliard at winehq.org	2005/11/28 05:03:10

Modified files:
	include        : imagehlp.h 

Log message:
	Vitaliy Margolen <wine-patch at kievinfo.com>
	Add some 64 bit definitions.

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

Old revision  New revision  Changes     Path
 1.23          1.24          +56 -0      wine/include/imagehlp.h

Index: wine/include/imagehlp.h
diff -u -p wine/include/imagehlp.h:1.23 wine/include/imagehlp.h:1.24
--- wine/include/imagehlp.h:1.23	28 Nov 2005 11: 3:10 -0000
+++ wine/include/imagehlp.h	28 Nov 2005 11: 3:10 -0000
@@ -236,6 +236,12 @@ typedef struct _ADDRESS {
     ADDRESS_MODE Mode;
 } ADDRESS, *PADDRESS;
 
+typedef struct _ADDRESS64 {
+    DWORD64        Offset;
+    WORD           Segment;
+    ADDRESS_MODE   Mode;
+} ADDRESS64, *LPADDRESS64;
+
 typedef struct _KDHELP {
   DWORD Thread;
   DWORD ThCallbackStack;
@@ -246,6 +252,18 @@ 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;
   ADDRESS AddrReturn;
@@ -259,6 +277,20 @@ typedef struct _STACKFRAME {
   KDHELP  KdHelp;
 } 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 struct _SOURCEFILE {
     DWORD64                     ModBase;
     PCHAR                       FileName;
@@ -398,17 +430,33 @@ typedef BOOL (CALLBACK *PREAD_PROCESS_ME
   DWORD nSize, PDWORD lpNumberOfBytesRead
 );
 
+typedef BOOL (CALLBACK *PREAD_PROCESS_MEMORY_ROUTINE64)(
+  HANDLE  hProcess, DWORD64 lpBaseAddress, PVOID lpBuffer,
+  DWORD nSize, LPDWORD lpNumberOfBytesRead
+);
+
 typedef PVOID (CALLBACK *PFUNCTION_TABLE_ACCESS_ROUTINE)(
   HANDLE hProcess, DWORD AddrBase
 );
 
+typedef PVOID (CALLBACK *PFUNCTION_TABLE_ACCESS_ROUTINE64)(
+  HANDLE hProcess, DWORD64 AddrBase
+);
+
 typedef DWORD (CALLBACK *PGET_MODULE_BASE_ROUTINE)(
   HANDLE hProcess, DWORD ReturnAddress);
 
+typedef DWORD (CALLBACK *PGET_MODULE_BASE_ROUTINE64)(
+  HANDLE hProcess, DWORD64 ReturnAddress);
+
 typedef DWORD (CALLBACK *PTRANSLATE_ADDRESS_ROUTINE)(
   HANDLE hProcess, HANDLE hThread, PADDRESS lpaddr
 );
 
+typedef DWORD (CALLBACK *PTRANSLATE_ADDRESS_ROUTINE64)(
+  HANDLE hProcess, HANDLE hThread, LPADDRESS64 lpaddr
+);
+
 /***********************************************************************
  * Functions
  */
@@ -541,6 +589,14 @@ BOOL WINAPI StackWalk(
   PGET_MODULE_BASE_ROUTINE GetModuleBaseRoutine,
   PTRANSLATE_ADDRESS_ROUTINE TranslateAddress
 );
+BOOL WINAPI StackWalk64(
+  DWORD MachineType, HANDLE hProcess, HANDLE hThread,
+  LPSTACKFRAME64 StackFrame, PVOID ContextRecord,
+  PREAD_PROCESS_MEMORY_ROUTINE64 ReadMemoryRoutine,
+  PFUNCTION_TABLE_ACCESS_ROUTINE64 FunctionTableAccessRoutine,
+  PGET_MODULE_BASE_ROUTINE64 GetModuleBaseRoutine,
+  PTRANSLATE_ADDRESS_ROUTINE64 TranslateAddress
+);
 BOOL WINAPI SymCleanup(
   HANDLE hProcess
 );



More information about the wine-cvs mailing list