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.

64 lines
1.4 KiB

  1. //----------------------------------------------------------------------------
  2. //
  3. // triage.ini searching code
  4. //
  5. // Copyright (C) Microsoft Corporation, 2001.
  6. //
  7. //----------------------------------------------------------------------------
  8. #ifndef __TRIAGER_H__
  9. #define __TRIAGER_H__
  10. typedef struct _TRIAGE_DATA {
  11. CHAR Module[50];
  12. CHAR Routine[100];
  13. CHAR Followup[200];
  14. CHAR fModulPartial:1; // Allow partial module match
  15. CHAR fRoutinePartial:1; // Alow partial routine match
  16. } TRIAGE_DATA, *PTRIAGE_DATA;
  17. class CTriager
  18. {
  19. public:
  20. CTriager();
  21. ~CTriager();
  22. DWORD GetFollowup(PSTR FollowupBuffer,
  23. ULONG FollowupBufferSize,
  24. PSTR SymbolName);
  25. void PrintTraigeInfo();
  26. void GetFollowupDate(PSTR Module,
  27. PSTR Routine,
  28. PULONG Start,
  29. PULONG End);
  30. PSTR GetFollowupStr(PSTR Module,
  31. PSTR Routine)
  32. {
  33. ULONG Index;
  34. if ((Index = MatchSymbol(Module, Routine)) < m_EntryCount)
  35. {
  36. return m_pTriageData[Index].Followup;
  37. }
  38. return NULL;
  39. }
  40. private:
  41. ULONG m_EntryCount;
  42. PTRIAGE_DATA m_pTriageData;
  43. ULONG MatchSymbol(PSTR Module, PSTR Routine);
  44. };
  45. extern CTriager *g_pTriager;
  46. #endif // #ifndef __TRIAGER_H__