home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / ntsdexts.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  1KB  |  89 lines

  1. /*++ BUILD Version: 0001    // Increment this if a change has global effects
  2.  
  3. Copyright 1990 - 1998 Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     ntsdexts.h
  8.  
  9. Abstract:
  10.  
  11.     This file contains procedure prototypes and structures
  12.     needed to write NTSD and KD debugger extensions.
  13.  
  14. Environment:
  15.  
  16.     runs in the Win32 NTSD debug environment.
  17.  
  18. Revision History:
  19.  
  20. --*/
  21.  
  22. #ifndef _NTSDEXTNS_
  23. #define _NTSDEXTNS_
  24.  
  25. #ifdef __cplusplus
  26. extern "C" {
  27. #endif
  28.  
  29. typedef
  30. VOID
  31. (*PNTSD_OUTPUT_ROUTINE)(
  32.     char *,
  33.     ...
  34.     );
  35.  
  36. typedef
  37. DWORD
  38. (*PNTSD_GET_EXPRESSION)(
  39.     char *
  40.     );
  41.  
  42. typedef
  43. VOID
  44. (*PNTSD_GET_SYMBOL)(
  45.     LPVOID offset,
  46.     PUCHAR pchBuffer,
  47.     LPDWORD pDisplacement
  48.     );
  49.  
  50. typedef
  51. DWORD
  52. (*PNTSD_DISASM)(
  53.     LPDWORD lpOffset,
  54.     LPSTR lpBuffer,
  55.     BOOL fShowEfeectiveAddress
  56.     );
  57.  
  58. typedef
  59. BOOL
  60. (*PNTSD_CHECK_CONTROL_C)(
  61.     VOID
  62.     );
  63.  
  64. typedef struct _NTSD_EXTENSION_APIS {
  65.     DWORD nSize;
  66.     PNTSD_OUTPUT_ROUTINE lpOutputRoutine;
  67.     PNTSD_GET_EXPRESSION lpGetExpressionRoutine;
  68.     PNTSD_GET_SYMBOL lpGetSymbolRoutine;
  69.     PNTSD_DISASM lpDisasmRoutine;
  70.     PNTSD_CHECK_CONTROL_C lpCheckControlCRoutine;
  71. } NTSD_EXTENSION_APIS, *PNTSD_EXTENSION_APIS;
  72.  
  73. typedef
  74. VOID
  75. (*PNTSD_EXTENSION_ROUTINE)(
  76.     HANDLE hCurrentProcess,
  77.     HANDLE hCurrentThread,
  78.     DWORD dwCurrentPc,
  79.     PNTSD_EXTENSION_APIS lpExtensionApis,
  80.     LPSTR lpArgumentString
  81.     );
  82.  
  83. #ifdef __cplusplus
  84. }
  85. #endif
  86.  
  87.  
  88. #endif // _NTSDEXTNS_
  89.