Source code of Windows XP (NT5)
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.

98 lines
1.9 KiB

  1. #ifndef _WIN64
  2. /*++
  3. Copyright (c) 1992 Microsoft Corporation
  4. Module Name:
  5. symhelp.h
  6. Abstract:
  7. Defines the interfaces to the SYMHELP dynamic link library. Useful for programs
  8. that want to maintain a debug informaiton data base.
  9. Author:
  10. Steve Wood (stevewo) 11-Mar-1994
  11. Revision History:
  12. Mike Seaman (mikese) 20-Jan-1995 Added TranslateAddress
  13. --*/
  14. #ifndef _SYMHELP_
  15. #define _SYMHELP_
  16. typedef enum _LOAD_SYMBOLS_FILTER_REASON {
  17. LoadSymbolsPathNotFound,
  18. LoadSymbolsDeferredLoad,
  19. LoadSymbolsLoad,
  20. LoadSymbolsUnload,
  21. LoadSymbolsUnableToLoad
  22. } LOAD_SYMBOLS_FILTER_REASON;
  23. typedef BOOL (*PLOAD_SYMBOLS_FILTER_ROUTINE)(
  24. HANDLE UniqueProcess,
  25. LPSTR ImageFilePath,
  26. DWORD ImageBase,
  27. DWORD ImageSize,
  28. LOAD_SYMBOLS_FILTER_REASON Reason
  29. );
  30. BOOL
  31. InitializeImageDebugInformation(
  32. IN PLOAD_SYMBOLS_FILTER_ROUTINE LoadSymbolsFilter,
  33. IN HANDLE TargetProcess,
  34. IN BOOL NewProcess,
  35. IN BOOL GetKernelSymbols
  36. );
  37. BOOL
  38. AddImageDebugInformation(
  39. IN HANDLE UniqueProcess,
  40. IN LPSTR ImageFilePath,
  41. IN DWORD ImageBase,
  42. IN DWORD ImageSize
  43. );
  44. BOOL
  45. RemoveImageDebugInformation(
  46. IN HANDLE UniqueProcess,
  47. IN LPSTR ImageFilePath,
  48. IN DWORD ImageBase
  49. );
  50. PIMAGE_DEBUG_INFORMATION
  51. FindImageDebugInformation(
  52. IN HANDLE UniqueProcess,
  53. IN DWORD Address
  54. );
  55. ULONG
  56. GetSymbolicNameForAddress(
  57. IN HANDLE UniqueProcess,
  58. IN ULONG Address,
  59. OUT LPSTR Name,
  60. IN ULONG MaxNameLength
  61. );
  62. //
  63. // The following function is essentially identical in operation to
  64. // GetSymbolicNameForAddress, except that it:
  65. //
  66. // 1. Operates only on the calling process.
  67. // 2. Does not require any previous calls to AddImageDebugInformation et al.
  68. // That is, debug information for all currently loaded modules will
  69. // be added automatically.
  70. ULONG
  71. TranslateAddress (
  72. IN ULONG Address,
  73. OUT LPSTR Name,
  74. IN ULONG MaxNameLength
  75. );
  76. #endif
  77. #endif