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.

163 lines
4.9 KiB

  1. /*++
  2. Copyright (C) 1998-1999 Microsoft Corporation
  3. Module Name:
  4. provprop.h
  5. Abstract:
  6. Header file for the trace providers general property page.
  7. --*/
  8. #ifndef _PROVPROP_H_
  9. #define _PROVPROP_H_
  10. #if _MSC_VER >= 1000
  11. #pragma once
  12. #endif // _MSC_VER >= 1000
  13. #include "smproppg.h" // Base class
  14. #include "smtraceq.h" // For provider states
  15. #include "smcfghlp.h"
  16. // Dialog controls
  17. #define IDD_PROVIDERS_PROP 1000
  18. #define IDC_PROV_FILENAME_CAPTION 1001
  19. #define IDC_PROV_LOG_SCHED_TEXT 1002
  20. #define IDC_PROV_FIRST_HELP_CTRL_ID 1003
  21. #define IDC_PROV_FILENAME_DISPLAY 1003
  22. #define IDC_PROV_PROVIDER_LIST 1004
  23. #define IDC_PROV_ADD_BTN 1005
  24. #define IDC_PROV_REMOVE_BTN 1006
  25. #define IDC_PROV_KERNEL_BTN 1007
  26. #define IDC_PROV_OTHER_BTN 1008
  27. #define IDC_PROV_K_PROCESS_CHK 1009
  28. #define IDC_PROV_K_THREAD_CHK 1010
  29. #define IDC_PROV_K_DISK_IO_CHK 1011
  30. #define IDC_PROV_K_NETWORK_CHK 1012
  31. #define IDC_PROV_K_SOFT_PF_CHK 1013
  32. #define IDC_PROV_K_FILE_IO_CHK 1014
  33. #define IDC_PROV_SHOW_PROVIDERS_BTN 1015
  34. /////////////////////////////////////////////////////////////////////////////
  35. // CProvidersProperty dialog
  36. class CProvidersProperty : public CSmPropertyPage
  37. {
  38. DECLARE_DYNCREATE(CProvidersProperty)
  39. // Construction
  40. public:
  41. CProvidersProperty();
  42. CProvidersProperty(MMC_COOKIE lCookie, LONG_PTR hConsole);
  43. virtual ~CProvidersProperty();
  44. // Dialog Data
  45. //{{AFX_DATA(CProvidersProperty)
  46. enum { IDD = IDD_PROVIDERS_PROP };
  47. INT m_nTraceModeRdo;
  48. BOOL m_bEnableProcessTrace;
  49. BOOL m_bEnableThreadTrace;
  50. BOOL m_bEnableDiskIoTrace;
  51. BOOL m_bEnableNetworkTcpipTrace;
  52. BOOL m_bEnableMemMgmtTrace;
  53. BOOL m_bEnableFileIoTrace;
  54. BOOL m_bNonsystemProvidersExist;
  55. //}}AFX_DATA
  56. public:
  57. DWORD GetGenProviderCount ( INT& iCount );
  58. DWORD GetProviderDescription ( INT iUnusedIndex, CString& rstrDesc );
  59. BOOL IsEnabledProvider ( INT iIndex );
  60. BOOL IsActiveProvider ( INT iIndex );
  61. LPCTSTR GetKernelProviderDescription ( void );
  62. BOOL GetKernelProviderEnabled ( void );
  63. DWORD GetInQueryProviders( CArray<CSmTraceLogQuery::eProviderState, CSmTraceLogQuery::eProviderState&>& );
  64. DWORD SetInQueryProviders( CArray<CSmTraceLogQuery::eProviderState, CSmTraceLogQuery::eProviderState&>& );
  65. void GetMachineDisplayName( CString& );
  66. CSmTraceLogQuery* GetTraceQuery( void );
  67. // Overrides
  68. // ClassWizard generate virtual function overrides
  69. //{{AFX_VIRTUAL(CProvidersProperty)
  70. public:
  71. protected:
  72. virtual void OnFinalRelease();
  73. virtual BOOL OnSetActive();
  74. virtual BOOL OnKillActive();
  75. virtual BOOL OnApply();
  76. virtual void OnCancel();
  77. virtual BOOL OnInitDialog();
  78. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  79. virtual void PostNcDestroy();
  80. //}}AFX_VIRTUAL
  81. // Implementation
  82. protected:
  83. virtual INT GetFirstHelpCtrlId ( void ) { return IDC_PROV_FIRST_HELP_CTRL_ID; }; // Subclass must override.
  84. virtual BOOL IsValidLocalData();
  85. // Generated message map functions
  86. //{{AFX_MSG(CProvidersProperty)
  87. // afx_msg void OnProvDetailsBtn();
  88. afx_msg void OnProvShowProvBtn();
  89. afx_msg void OnProvAddBtn();
  90. afx_msg void OnProvExplainBtn();
  91. afx_msg void OnProvRemoveBtn();
  92. afx_msg void OnDblclkProvProviderList();
  93. afx_msg void OnSelcancelProvProviderList();
  94. afx_msg void OnSelchangeProvProviderList();
  95. afx_msg void OnProvKernelEnableCheck();
  96. afx_msg void OnProvTraceModeRdo();
  97. afx_msg void OnPwdBtn();
  98. afx_msg void OnChangeUser();
  99. //}}AFX_MSG
  100. DECLARE_MESSAGE_MAP()
  101. // Generated OLE dispatch map functions
  102. //{{AFX_DISPATCH(CProvidersProperty)
  103. // NOTE - the ClassWizard will add and remove member functions here.
  104. //}}AFX_DISPATCH
  105. DECLARE_DISPATCH_MAP()
  106. DECLARE_INTERFACE_MAP()
  107. private:
  108. enum eTraceMode {
  109. eTraceModeKernel = 1,
  110. eTraceModeApplication = 2
  111. };
  112. void DoProvidersDataExchange ( CDataExchange* pDX );
  113. void SetAddRemoveBtnState ( void );
  114. void SetTraceModeState ( void );
  115. void ImplementAdd ( void );
  116. void UpdateFileNameString ( void );
  117. void UpdateLogStartString ( void );
  118. BOOL SetDetailsGroupBoxMode ( void );
  119. void TraceModeRadioExchange ( CDataExchange* );
  120. CSmTraceLogQuery *m_pTraceLogQuery;
  121. CArray<CSmTraceLogQuery::eProviderState, CSmTraceLogQuery::eProviderState&> m_arrGenProviders;
  122. CString m_strFileNameDisplay;
  123. CString m_strStartText;
  124. DWORD m_dwTraceMode;
  125. DWORD m_dwMaxHorizListExtent;
  126. };
  127. //{{AFX_INSERT_LOCATION}}
  128. // Microsoft Developer Studio will insert additional declarations immediately before the previous line.
  129. #endif // _PROVPROP_H_