ntsdexts.h 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _NTSDEXTNS_
  7. #define _NTSDEXTNS_
  8. #ifdef __cplusplus
  9. extern "C" {
  10. #endif
  11. typedef VOID (__cdecl *PNTSD_OUTPUT_ROUTINE)(char *,...);
  12. typedef ULONG_PTR (*PNTSD_GET_EXPRESSION)(char *);
  13. typedef VOID (*PNTSD_GET_SYMBOL)(ULONG_PTR offset,PUCHAR pchBuffer,ULONG_PTR *pDisplacement);
  14. typedef DWORD (*PNTSD_DISASM)(ULONG_PTR *lpOffset,LPSTR lpBuffer,ULONG fShowEfeectiveAddress);
  15. typedef WINBOOL (*PNTSD_CHECK_CONTROL_C)(VOID);
  16. typedef struct _NTSD_EXTENSION_APIS {
  17. DWORD nSize;
  18. PNTSD_OUTPUT_ROUTINE lpOutputRoutine;
  19. PNTSD_GET_EXPRESSION lpGetExpressionRoutine;
  20. PNTSD_GET_SYMBOL lpGetSymbolRoutine;
  21. PNTSD_DISASM lpDisasmRoutine;
  22. PNTSD_CHECK_CONTROL_C lpCheckControlCRoutine;
  23. } NTSD_EXTENSION_APIS,*PNTSD_EXTENSION_APIS;
  24. typedef VOID (*PNTSD_EXTENSION_ROUTINE)(HANDLE hCurrentProcess,HANDLE hCurrentThread,DWORD dwCurrentPc,PNTSD_EXTENSION_APIS lpExtensionApis,LPSTR lpArgumentString);
  25. #ifdef __cplusplus
  26. }
  27. #endif
  28. #endif