|
|
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.