|
|
1.1 root 1: /*++
2:
3: Copyright (c) 1992 Microsoft Corporation
4:
5: Module Name:
6:
7: wdbgexts.h
8:
9: Abstract:
10:
11: This file contains procedure prototypes and structures needed to port
12: NTSD debugger extensions so that they can be invoked remotely in WinDbg
13: command window. This file is to be included by cmdexec0.c and wdbgexts.c.
14: To maintain compatibilty with NTSD extensions(or to call the original NTSD
15: extensions like "ntsdexts" without modification), definitions in this file
16: are incremental by first doing **#include <ntsdexts.h>**.
17:
18: Author:
19:
20: Peter Sun (t-petes) 29-July-1992
21:
22: Environment:
23:
24: runs in the Win32 WinDbg environment.
25:
26: Revision History:
27:
28: --*/
29:
30: #ifndef _WDBGEXTS_
31: #define _WDBGEXTS_
32:
33:
34: #include <ntsdexts.h>
35:
36:
37: typedef
38: BOOL
39: (*PWINDBG_READ_PROCESS_MEMORY_ROUTINE)(
40: DWORD offset,
41: LPVOID lpBuffer,
42: DWORD cb,
43: LPDWORD lpcbBytesRead
44: );
45:
46: typedef
47: BOOL
48: (*PWINDBG_WRITE_PROCESS_MEMORY_ROUTINE)(
49: DWORD offset,
50: LPVOID lpBuffer,
51: DWORD cb,
52: LPDWORD lpcbBytesWritten
53: );
54:
55: typedef
56: BOOL
57: (*PWINDBG_GET_THREAD_CONTEXT_ROUTINE)(
58: LPCONTEXT lpContext,
59: DWORD cbSizeOfContext
60: );
61:
62: typedef
63: BOOL
64: (*PWINDBG_SET_THREAD_CONTEXT_ROUTINE)(
65: LPCONTEXT lpContext,
66: DWORD cbSizeOfContext
67: );
68:
69: typedef struct _WINDBG_EXTENSION_APIS {
70: DWORD nSize;
71: PNTSD_OUTPUT_ROUTINE lpOutputRoutine;
72: PNTSD_GET_EXPRESSION lpGetExpressionRoutine;
73: PNTSD_GET_SYMBOL lpGetSymbolRoutine;
74: PNTSD_DISASM lpDisasmRoutine;
75: PNTSD_CHECK_CONTROL_C lpCheckControlCRoutine;
76: /*
77: ** The above are identical to _NTSD_EXTENSION_API(see ntsdexts.h) to
78: ** maintain compatibilty.
79: */
80: PWINDBG_READ_PROCESS_MEMORY_ROUTINE lpReadProcessMemoryRoutine;
81: PWINDBG_WRITE_PROCESS_MEMORY_ROUTINE lpWriteProcessMemoryRoutine;
82: PWINDBG_GET_THREAD_CONTEXT_ROUTINE lpGetThreadContextRoutine;
83: PWINDBG_SET_THREAD_CONTEXT_ROUTINE lpSetThreadContextRoutine;
84: } WINDBG_EXTENSION_APIS, *PWINDBG_EXTENSION_APIS;
85:
86:
87: typedef
88: VOID
89: (*PWINDBG_EXTENSION_ROUTINE)(
90: HANDLE hCurrentProcess,
91: HANDLE hCurrentThread,
92: DWORD dwCurrentPc,
93: PWINDBG_EXTENSION_APIS lpExtensionApis,
94: LPSTR lpArgumentString
95: );
96:
97: #endif // _WDBGEXTS_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.