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.

94 lines
2.7 KiB

  1. #if !defined(AFX_READLOGSDLG_H__FB51DB88_CAC0_491B_B24F_25E5FCAACEC4__INCLUDED_)
  2. #define AFX_READLOGSDLG_H__FB51DB88_CAC0_491B_B24F_25E5FCAACEC4__INCLUDED_
  3. #include "emsvc.h" // Added by ClassView
  4. #if _MSC_VER > 1000
  5. #pragma once
  6. #endif // _MSC_VER > 1000
  7. // ReadLogsDlg.h : header file
  8. //
  9. /////////////////////////////////////////////////////////////////////////////
  10. // CReadLogsDlg dialog
  11. typedef enum ReadLogType {
  12. ReadLogsType_None,
  13. ReadLogsType_Exception,
  14. ReadLogsType_Hang
  15. };
  16. class CReadLogsDlg : public CDialog
  17. {
  18. // Construction
  19. public:
  20. void ShowAppropriateControls();
  21. void GetFirstParameter( char* szBuffer, CString &str );
  22. void GetSecondParameter( char* szBuffer, CString &str );
  23. void GetThirdParameter( char* szBuffer, CString &str );
  24. char* GetThreadNumber( char* szBuffer );
  25. char* GetThreadID( char* szBuffer );
  26. void ProcessKvThreadBlocks();
  27. CMapStringToString m_mapCriticalSection;
  28. CMapStringToString m_mapThreadID;
  29. void BuildThreadIDMap();
  30. void BuildCriticalSectionsMap();
  31. CString m_pTempLogFileName;
  32. void ParseAndInitExceptionView();
  33. void ParseAndInitHangView();
  34. void ParseAndInitNoneView();
  35. ~CReadLogsDlg();
  36. BOOL m_bAdvancedWindow;
  37. void SetDialogSize(BOOL);
  38. PEmObject m_pEmObject;
  39. IEmManager* m_pIEmManager;
  40. IStream* m_pIEmStream;
  41. ReadLogType m_eReadLogType;
  42. CReadLogsDlg(PEmObject pEmObj, IEmManager *pEmMgr, CWnd* pParent = NULL); // standard constructor
  43. void ResizeAndReposControl();
  44. // Dialog Data
  45. //{{AFX_DATA(CReadLogsDlg)
  46. enum { IDD = IDD_READLOGS };
  47. CStatic m_ctlStaticExcepInfo;
  48. CStatic m_staticHangInfo;
  49. CStatic m_ctlStaticFailingInstruction;
  50. CStatic m_ctlStaticExceptionLocation;
  51. CStatic m_ctlStaticExceptionType;
  52. CStatic m_ctlStaticCallStack;
  53. CEdit m_ctlEditFailingInstruction;
  54. CEdit m_ctlEditExceptionType;
  55. CEdit m_ctlEditExceptionLocation;
  56. CListBox m_ctlListControl;
  57. CButton m_ctrlAdvancedBtn;
  58. CEdit m_ctrlCompleteReadLog;
  59. CString m_csCompleteLog;
  60. CString m_strExceptionType;
  61. CString m_strExceptionLocation;
  62. CString m_strFailingInstruction;
  63. //}}AFX_DATA
  64. // Overrides
  65. // ClassWizard generated virtual function overrides
  66. //{{AFX_VIRTUAL(CReadLogsDlg)
  67. protected:
  68. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  69. //}}AFX_VIRTUAL
  70. // Implementation
  71. protected:
  72. FILE* m_pLogFile;
  73. // Generated message map functions
  74. //{{AFX_MSG(CReadLogsDlg)
  75. virtual BOOL OnInitDialog();
  76. afx_msg void OnAdvanced();
  77. afx_msg void OnDestroy();
  78. //}}AFX_MSG
  79. DECLARE_MESSAGE_MAP()
  80. };
  81. //{{AFX_INSERT_LOCATION}}
  82. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  83. #endif // !defined(AFX_READLOGSDLG_H__FB51DB88_CAC0_491B_B24F_25E5FCAACEC4__INCLUDED_)