|
|
1.1 root 1: /*++
2:
1.1.1.2 ! root 3: Copyright (c) 1992-1993 Microsoft Corporation
1.1 root 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:
1.1.1.2 ! root 33: #ifdef __cplusplus
! 34: extern "C" {
! 35: #endif
1.1 root 36:
37: #include <ntsdexts.h>
38:
39:
40: typedef
41: BOOL
42: (*PWINDBG_READ_PROCESS_MEMORY_ROUTINE)(
43: DWORD offset,
44: LPVOID lpBuffer,
45: DWORD cb,
46: LPDWORD lpcbBytesRead
47: );
48:
49: typedef
50: BOOL
51: (*PWINDBG_WRITE_PROCESS_MEMORY_ROUTINE)(
52: DWORD offset,
53: LPVOID lpBuffer,
54: DWORD cb,
55: LPDWORD lpcbBytesWritten
56: );
57:
58: typedef
59: BOOL
60: (*PWINDBG_GET_THREAD_CONTEXT_ROUTINE)(
61: LPCONTEXT lpContext,
62: DWORD cbSizeOfContext
63: );
64:
65: typedef
66: BOOL
67: (*PWINDBG_SET_THREAD_CONTEXT_ROUTINE)(
68: LPCONTEXT lpContext,
69: DWORD cbSizeOfContext
70: );
71:
72: typedef struct _WINDBG_EXTENSION_APIS {
73: DWORD nSize;
74: PNTSD_OUTPUT_ROUTINE lpOutputRoutine;
75: PNTSD_GET_EXPRESSION lpGetExpressionRoutine;
76: PNTSD_GET_SYMBOL lpGetSymbolRoutine;
77: PNTSD_DISASM lpDisasmRoutine;
78: PNTSD_CHECK_CONTROL_C lpCheckControlCRoutine;
79: /*
80: ** The above are identical to _NTSD_EXTENSION_API(see ntsdexts.h) to
81: ** maintain compatibilty.
82: */
83: PWINDBG_READ_PROCESS_MEMORY_ROUTINE lpReadProcessMemoryRoutine;
84: PWINDBG_WRITE_PROCESS_MEMORY_ROUTINE lpWriteProcessMemoryRoutine;
85: PWINDBG_GET_THREAD_CONTEXT_ROUTINE lpGetThreadContextRoutine;
86: PWINDBG_SET_THREAD_CONTEXT_ROUTINE lpSetThreadContextRoutine;
87: } WINDBG_EXTENSION_APIS, *PWINDBG_EXTENSION_APIS;
88:
89:
90: typedef
91: VOID
92: (*PWINDBG_EXTENSION_ROUTINE)(
93: HANDLE hCurrentProcess,
94: HANDLE hCurrentThread,
95: DWORD dwCurrentPc,
96: PWINDBG_EXTENSION_APIS lpExtensionApis,
97: LPSTR lpArgumentString
98: );
99:
1.1.1.2 ! root 100: #ifdef __cplusplus
! 101: }
! 102: #endif
! 103:
1.1 root 104: #endif // _WDBGEXTS_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.