Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

94 lines
1.5 KiB

  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_