windows-nt/Source/XPSP1/NT/admin/snapin/smonlog/smlogcfg/provprop.h
2020-09-26 16:20:57 +08:00

164 lines
4.9 KiB
C++

/*++
Copyright (C) 1998-1999 Microsoft Corporation
Module Name:
provprop.h
Abstract:
Header file for the trace providers general property page.
--*/
#ifndef _PROVPROP_H_
#define _PROVPROP_H_
#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000
#include "smproppg.h" // Base class
#include "smtraceq.h" // For provider states
#include "smcfghlp.h"
// Dialog controls
#define IDD_PROVIDERS_PROP 1000
#define IDC_PROV_FILENAME_CAPTION 1001
#define IDC_PROV_LOG_SCHED_TEXT 1002
#define IDC_PROV_FIRST_HELP_CTRL_ID 1003
#define IDC_PROV_FILENAME_DISPLAY 1003
#define IDC_PROV_PROVIDER_LIST 1004
#define IDC_PROV_ADD_BTN 1005
#define IDC_PROV_REMOVE_BTN 1006
#define IDC_PROV_KERNEL_BTN 1007
#define IDC_PROV_OTHER_BTN 1008
#define IDC_PROV_K_PROCESS_CHK 1009
#define IDC_PROV_K_THREAD_CHK 1010
#define IDC_PROV_K_DISK_IO_CHK 1011
#define IDC_PROV_K_NETWORK_CHK 1012
#define IDC_PROV_K_SOFT_PF_CHK 1013
#define IDC_PROV_K_FILE_IO_CHK 1014
#define IDC_PROV_SHOW_PROVIDERS_BTN 1015
/////////////////////////////////////////////////////////////////////////////
// CProvidersProperty dialog
class CProvidersProperty : public CSmPropertyPage
{
DECLARE_DYNCREATE(CProvidersProperty)
// Construction
public:
CProvidersProperty();
CProvidersProperty(MMC_COOKIE lCookie, LONG_PTR hConsole);
virtual ~CProvidersProperty();
// Dialog Data
//{{AFX_DATA(CProvidersProperty)
enum { IDD = IDD_PROVIDERS_PROP };
INT m_nTraceModeRdo;
BOOL m_bEnableProcessTrace;
BOOL m_bEnableThreadTrace;
BOOL m_bEnableDiskIoTrace;
BOOL m_bEnableNetworkTcpipTrace;
BOOL m_bEnableMemMgmtTrace;
BOOL m_bEnableFileIoTrace;
BOOL m_bNonsystemProvidersExist;
//}}AFX_DATA
public:
DWORD GetGenProviderCount ( INT& iCount );
DWORD GetProviderDescription ( INT iUnusedIndex, CString& rstrDesc );
BOOL IsEnabledProvider ( INT iIndex );
BOOL IsActiveProvider ( INT iIndex );
LPCTSTR GetKernelProviderDescription ( void );
BOOL GetKernelProviderEnabled ( void );
DWORD GetInQueryProviders( CArray<CSmTraceLogQuery::eProviderState, CSmTraceLogQuery::eProviderState&>& );
DWORD SetInQueryProviders( CArray<CSmTraceLogQuery::eProviderState, CSmTraceLogQuery::eProviderState&>& );
void GetMachineDisplayName( CString& );
CSmTraceLogQuery* GetTraceQuery( void );
// Overrides
// ClassWizard generate virtual function overrides
//{{AFX_VIRTUAL(CProvidersProperty)
public:
protected:
virtual void OnFinalRelease();
virtual BOOL OnSetActive();
virtual BOOL OnKillActive();
virtual BOOL OnApply();
virtual void OnCancel();
virtual BOOL OnInitDialog();
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual void PostNcDestroy();
//}}AFX_VIRTUAL
// Implementation
protected:
virtual INT GetFirstHelpCtrlId ( void ) { return IDC_PROV_FIRST_HELP_CTRL_ID; }; // Subclass must override.
virtual BOOL IsValidLocalData();
// Generated message map functions
//{{AFX_MSG(CProvidersProperty)
// afx_msg void OnProvDetailsBtn();
afx_msg void OnProvShowProvBtn();
afx_msg void OnProvAddBtn();
afx_msg void OnProvExplainBtn();
afx_msg void OnProvRemoveBtn();
afx_msg void OnDblclkProvProviderList();
afx_msg void OnSelcancelProvProviderList();
afx_msg void OnSelchangeProvProviderList();
afx_msg void OnProvKernelEnableCheck();
afx_msg void OnProvTraceModeRdo();
afx_msg void OnPwdBtn();
afx_msg void OnChangeUser();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
// Generated OLE dispatch map functions
//{{AFX_DISPATCH(CProvidersProperty)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_DISPATCH
DECLARE_DISPATCH_MAP()
DECLARE_INTERFACE_MAP()
private:
enum eTraceMode {
eTraceModeKernel = 1,
eTraceModeApplication = 2
};
void DoProvidersDataExchange ( CDataExchange* pDX );
void SetAddRemoveBtnState ( void );
void SetTraceModeState ( void );
void ImplementAdd ( void );
void UpdateFileNameString ( void );
void UpdateLogStartString ( void );
BOOL SetDetailsGroupBoxMode ( void );
void TraceModeRadioExchange ( CDataExchange* );
CSmTraceLogQuery *m_pTraceLogQuery;
CArray<CSmTraceLogQuery::eProviderState, CSmTraceLogQuery::eProviderState&> m_arrGenProviders;
CString m_strFileNameDisplay;
CString m_strStartText;
DWORD m_dwTraceMode;
DWORD m_dwMaxHorizListExtent;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
#endif // _PROVPROP_H_