NTSDExts.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /*
  2. Copyright (c) Microsoft Corporation. All rights reserved.
  3. Module Name:
  4.     ntsdexts.h
  5. Abstract:
  6.     This file contains procedure prototypes and structures
  7.     needed to write old NTSD and KD debugger extensions.
  8.     NOTE:  Newer defitions and interfaces are in wdbgexts.h
  9. Environment:
  10.     runs in the Win32 NTSD debug environment.
  11. Revision History:
  12. --*/
  13. #ifndef _NTSDEXTNS_
  14. #define _NTSDEXTNS_
  15. #if _MSC_VER > 1000
  16. #pragma once
  17. #endif
  18. #ifdef __cplusplus
  19. extern "C" {
  20. #endif
  21. typedef
  22. VOID
  23. (__cdecl *PNTSD_OUTPUT_ROUTINE)(
  24.     char *,
  25.     ...
  26.     );
  27. typedef
  28. ULONG_PTR
  29. (*PNTSD_GET_EXPRESSION)(
  30.     char *
  31.     );
  32. typedef
  33. VOID
  34. (*PNTSD_GET_SYMBOL)(
  35.     ULONG_PTR offset,
  36.     PUCHAR pchBuffer,
  37.     ULONG_PTR *pDisplacement
  38.     );
  39. typedef
  40. DWORD
  41. (*PNTSD_DISASM)(
  42.     ULONG_PTR *lpOffset,
  43.     LPSTR lpBuffer,
  44.     ULONG fShowEfeectiveAddress
  45.     );
  46. typedef
  47. BOOL
  48. (*PNTSD_CHECK_CONTROL_C)(
  49.     VOID
  50.     );
  51. typedef struct _NTSD_EXTENSION_APIS {
  52.     DWORD nSize;
  53.     PNTSD_OUTPUT_ROUTINE lpOutputRoutine;
  54.     PNTSD_GET_EXPRESSION lpGetExpressionRoutine;
  55.     PNTSD_GET_SYMBOL lpGetSymbolRoutine;
  56.     PNTSD_DISASM lpDisasmRoutine;
  57.     PNTSD_CHECK_CONTROL_C lpCheckControlCRoutine;
  58. } NTSD_EXTENSION_APIS, *PNTSD_EXTENSION_APIS;
  59. typedef
  60. VOID
  61. (*PNTSD_EXTENSION_ROUTINE)(
  62.     HANDLE hCurrentProcess,
  63.     HANDLE hCurrentThread,
  64.     DWORD dwCurrentPc,
  65.     PNTSD_EXTENSION_APIS lpExtensionApis,
  66.     LPSTR lpArgumentString
  67.     );
  68. #ifdef __cplusplus
  69. }
  70. #endif
  71. #endif // _NTSDEXTNS_