Add some 64 bit definitions.

oldstable
Vitaliy Margolen 2005-11-28 10:59:51 +01:00 committed by Alexandre Julliard
parent 5903c5df1b
commit f09ed5e8f7
1 changed files with 56 additions and 0 deletions

View File

@ -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_MEMORY_ROUTINE)(
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
);