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.

121 lines
2.2 KiB

  1. /*++
  2. Copyright(c) 1999 Microsoft Corporation
  3. Module Name:
  4. triage.h
  5. Abstract:
  6. The triage dump is a small crashdump that has been saved to the system
  7. pagefile. The boot loader loads this triage dump in an attempt to find
  8. out why the system crashed and (hopefully) prevent it from crashing
  9. again.
  10. Author:
  11. Matthew D Hendel (math) 20-Jan-1999
  12. --*/
  13. #ifndef __TRIAGE_H__
  14. #define __TRIAGE_H__
  15. #if _MSC_VER > 1000
  16. #pragma once
  17. #endif
  18. //
  19. // The representation of a module in the triage dump.
  20. //
  21. typedef struct _TRIAGE_DUMP_MODULE {
  22. LIST_ENTRY InLoadOrderLinks;
  23. UINT_PTR BaseAddress;
  24. UINT_PTR EntryPointAddress;
  25. ULONG SizeOfImage;
  26. UNICODE_STRING ImageName;
  27. WCHAR _ImageNameBuffer [ 260 ];
  28. PVOID LdrEntry;
  29. ULONG CheckSum;
  30. ULONG TimeDateStamp;
  31. } TRIAGE_DUMP_MODULE, * PTRIAGE_DUMP_MODULE;
  32. NTSTATUS
  33. TriageGetVersion(
  34. IN PVOID TriageDumpBlock,
  35. OUT ULONG * MajorVersion,
  36. OUT ULONG * MinorVersion,
  37. OUT ULONG * BuildNumber
  38. );
  39. NTSTATUS
  40. TriageGetDriverCount(
  41. IN PVOID TriageDumpBlock,
  42. OUT ULONG * DriverCount
  43. );
  44. NTSTATUS
  45. TriageGetContext(
  46. IN PVOID TriageDumpBlock,
  47. OUT PVOID * Context
  48. );
  49. NTSTATUS
  50. TriageGetExceptionRecord(
  51. IN PVOID TriageDumpBlock,
  52. OUT PEXCEPTION_RECORD * ExceptionRecord
  53. );
  54. NTSTATUS
  55. TriageGetBugcheckData(
  56. IN PVOID TriageDumpBlock,
  57. OUT ULONG * BugCheckCode,
  58. OUT UINT_PTR * BugCheckParam1,
  59. OUT UINT_PTR * BugCheckParam2,
  60. OUT UINT_PTR * BugCheckParam3,
  61. OUT UINT_PTR * BugCheckParam4
  62. );
  63. NTSTATUS
  64. TriageGetDriverEntry(
  65. IN PVOID TriageDumpBlock,
  66. IN ULONG ModuleIndex,
  67. OUT TRIAGE_DUMP_MODULE * Module,
  68. OUT BOOLEAN * BrokenModuleFlag
  69. );
  70. NTSTATUS
  71. TriageGetStack(
  72. IN PVOID TriageDumpBlock,
  73. OUT UINT_PTR * BaseOfStack,
  74. OUT ULONG * SizeOfStack,
  75. OUT PVOID * StackData
  76. );
  77. NTSTATUS
  78. TriageGetThread(
  79. IN PVOID TriageDumpBlock,
  80. OUT PVOID * Thread,
  81. OUT ULONG * ThreadSize
  82. );
  83. NTSTATUS
  84. TriageGetProcessor(
  85. IN PVOID TriageDumpBlock,
  86. OUT PVOID * Processor,
  87. OUT ULONG * ProcessorSize
  88. );
  89. NTSTATUS
  90. TriageGetProcess(
  91. IN PVOID TriageDumpBlock,
  92. OUT PVOID * Process,
  93. OUT ULONG * ProcessSize
  94. );
  95. #endif // __TRIAGE_H__