2 * File wdbgexts.h: definition of windbg extensions
3 * (dbghelp.dll is seen as a windbg extension)
5 * Copyright (C) 2005, Eric Pouech
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
22 typedef struct EXT_API_VERSION
28 } EXT_API_VERSION
, *LPEXT_API_VERSION
;
30 typedef void (*PWINDBG_OUTPUT_ROUTINE
)(PCSTR
, ...);
31 typedef ULONG_PTR (WINAPI
*PWINDBG_GET_EXPRESSION
)(PCSTR
);
32 typedef void (WINAPI
*PWINDBG_GET_SYMBOL
)(void*, char*, ULONG_PTR
*);
33 typedef ULONG (WINAPI
*PWINDBG_DISASM
)(ULONG_PTR
*, PCSTR
, ULONG
);
34 typedef ULONG (WINAPI
*PWINDBG_CHECK_CONTROL_C
)(void);
35 typedef ULONG (WINAPI
*PWINDBG_READ_PROCESS_MEMORY_ROUTINE
)(ULONG_PTR
, void*, ULONG
, PULONG
);
36 typedef ULONG (WINAPI
*PWINDBG_WRITE_PROCESS_MEMORY_ROUTINE
)(ULONG_PTR
, const void*, ULONG
, PULONG
);
37 typedef ULONG (WINAPI
*PWINDBG_GET_THREAD_CONTEXT_ROUTINE
)(ULONG
, PCONTEXT
, ULONG
);
38 typedef ULONG (WINAPI
*PWINDBG_SET_THREAD_CONTEXT_ROUTINE
)(ULONG
, PCONTEXT
, ULONG
);
39 typedef ULONG (WINAPI
*PWINDBG_IOCTL_ROUTINE
)(USHORT
, void*);
40 typedef struct _EXTSTACKTRACE
46 } EXTSTACKTRACE
, *PEXTSTACKTRACE
;
47 typedef ULONG (WINAPI
*PWINDBG_STACKTRACE_ROUTINE
)(ULONG
, ULONG
, ULONG
, PEXTSTACKTRACE
, ULONG
);
49 typedef struct _WINDBG_EXTENSION_APIS
52 PWINDBG_OUTPUT_ROUTINE lpOutputRoutine
;
53 PWINDBG_GET_EXPRESSION lpGetExpressionRoutine
;
54 PWINDBG_GET_SYMBOL lpGetSymbolRoutine
;
55 PWINDBG_DISASM lpDisasmRoutine
;
56 PWINDBG_CHECK_CONTROL_C lpCheckControlCRoutine
;
57 PWINDBG_READ_PROCESS_MEMORY_ROUTINE lpReadProcessMemoryRoutine
;
58 PWINDBG_WRITE_PROCESS_MEMORY_ROUTINE lpWriteProcessMemoryRoutine
;
59 PWINDBG_GET_THREAD_CONTEXT_ROUTINE lpGetThreadContextRoutine
;
60 PWINDBG_SET_THREAD_CONTEXT_ROUTINE lpSetThreadContextRoutine
;
61 PWINDBG_IOCTL_ROUTINE lpIoctlRoutine
;
62 PWINDBG_STACKTRACE_ROUTINE lpStackTraceRoutine
;
63 } WINDBG_EXTENSION_APIS
, *PWINDBG_EXTENSION_APIS
;