166 lines
4.4 KiB
C
166 lines
4.4 KiB
C
|
/*++
|
||
|
|
||
|
Copyright (C) 1998-1999 Microsoft Corporation
|
||
|
|
||
|
Module Name:
|
||
|
|
||
|
ctrsprop.h
|
||
|
|
||
|
Abstract:
|
||
|
|
||
|
Header file for the counters general property page
|
||
|
|
||
|
--*/
|
||
|
|
||
|
#ifndef _CTRSPROP_H_
|
||
|
#define _CTRSPROP_H_
|
||
|
|
||
|
#if _MSC_VER >= 1000
|
||
|
#pragma once
|
||
|
#endif // _MSC_VER >= 1000
|
||
|
|
||
|
#include "smproppg.h" // Base class
|
||
|
#include "smcfghlp.h"
|
||
|
// Dialog controls
|
||
|
#define IDD_COUNTERS_PROP 800
|
||
|
|
||
|
#define IDC_CTRS_FILENAME_CAPTION 801
|
||
|
#define IDC_CTRS_LOG_SCHED_TEXT 802
|
||
|
#define IDC_CTRS_SAMPLE_CAPTION 803
|
||
|
#define IDC_CTRS_SAMPLE_INTERVAL_CAPTION 804
|
||
|
#define IDC_CTRS_SAMPLE_UNITS_CAPTION 805
|
||
|
#define IDC_CTRS_FIRST_HELP_CTRL_ID 806 // First control with Help text.
|
||
|
#define IDC_CTRS_COUNTER_LIST 806
|
||
|
#define IDC_CTRS_ADD_OBJ_BTN 807
|
||
|
#define IDC_CTRS_ADD_BTN 808
|
||
|
#define IDC_CTRS_REMOVE_BTN 809
|
||
|
#define IDC_CTRS_FILENAME_DISPLAY 810
|
||
|
#define IDC_CTRS_SAMPLE_SPIN 811
|
||
|
#define IDC_CTRS_SAMPLE_UNITS_COMBO 812
|
||
|
#define IDC_CTRS_SAMPLE_EDIT 813
|
||
|
|
||
|
#define PDLCNFIG_LISTBOX_STARS_YES 1
|
||
|
|
||
|
class CSmCounterLogQuery;
|
||
|
|
||
|
/////////////////////////////////////////////////////////////////////////////
|
||
|
// CCountersProperty dialog
|
||
|
|
||
|
class CCountersProperty : public CSmPropertyPage
|
||
|
{
|
||
|
DECLARE_DYNCREATE(CCountersProperty)
|
||
|
|
||
|
// Construction
|
||
|
public:
|
||
|
CCountersProperty();
|
||
|
CCountersProperty(MMC_COOKIE mmcCookie, LONG_PTR hConsole);
|
||
|
virtual ~CCountersProperty();
|
||
|
|
||
|
public:
|
||
|
|
||
|
// Dialog Data
|
||
|
//{{AFX_DATA(CCountersProperty)
|
||
|
enum { IDD = IDD_COUNTERS_PROP };
|
||
|
int m_nSampleUnits;
|
||
|
CString m_strFileNameDisplay;
|
||
|
CString m_strStartDisplay;
|
||
|
//}}AFX_DATA
|
||
|
|
||
|
|
||
|
// Overrides
|
||
|
// ClassWizard generate virtual function overrides
|
||
|
//{{AFX_VIRTUAL(CCountersProperty)
|
||
|
public:
|
||
|
protected:
|
||
|
virtual void OnFinalRelease();
|
||
|
virtual BOOL OnInitDialog();
|
||
|
virtual BOOL OnSetActive();
|
||
|
virtual BOOL OnKillActive();
|
||
|
virtual BOOL OnApply();
|
||
|
virtual void OnCancel();
|
||
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
||
|
virtual void PostNcDestroy();
|
||
|
//}}AFX_VIRTUAL
|
||
|
|
||
|
public:
|
||
|
|
||
|
// All of these members are Public to be accessed by the callback routine.
|
||
|
LPWSTR m_szCounterListBuffer;
|
||
|
DWORD m_dwCounterListBufferSize;
|
||
|
long m_lCounterListHasStars;
|
||
|
DWORD m_dwMaxHorizListExtent;
|
||
|
|
||
|
|
||
|
PDH_BROWSE_DLG_CONFIG m_dlgConfig;
|
||
|
|
||
|
CSmCounterLogQuery *m_pCtrLogQuery;
|
||
|
// Implementation
|
||
|
protected:
|
||
|
|
||
|
virtual INT GetFirstHelpCtrlId ( void )
|
||
|
{
|
||
|
return IDC_CTRS_FIRST_HELP_CTRL_ID;
|
||
|
}; // Subclass must override.
|
||
|
|
||
|
virtual BOOL IsValidLocalData ();
|
||
|
|
||
|
// Generated message map functions
|
||
|
//{{AFX_MSG(CCountersProperty)
|
||
|
afx_msg void OnCtrsAddBtn();
|
||
|
afx_msg void OnCtrsAddObjBtn();
|
||
|
afx_msg void OnCtrsRemoveBtn();
|
||
|
afx_msg void OnPwdBtn();
|
||
|
afx_msg void OnDblclkCtrsCounterList();
|
||
|
afx_msg void OnKillfocusSchedSampleEdit();
|
||
|
afx_msg void OnDeltaposSchedSampleSpin(NMHDR* pNMHDR, LRESULT* pResult);
|
||
|
afx_msg void OnSelendokSampleUnitsCombo();
|
||
|
afx_msg void OnChangeUser();
|
||
|
//}}AFX_MSG
|
||
|
DECLARE_MESSAGE_MAP()
|
||
|
|
||
|
// Generated OLE dispatch map functions
|
||
|
//{{AFX_DISPATCH(CCountersProperty)
|
||
|
// NOTE - the ClassWizard will add and remove member functions here.
|
||
|
//}}AFX_DISPATCH
|
||
|
DECLARE_DISPATCH_MAP()
|
||
|
DECLARE_INTERFACE_MAP()
|
||
|
|
||
|
private:
|
||
|
|
||
|
|
||
|
enum eValueRange {
|
||
|
eMinSampleInterval = 1,
|
||
|
eMaxSampleInterval = 999999,
|
||
|
eHashTableSize = 257
|
||
|
};
|
||
|
|
||
|
typedef struct _HASH_ENTRY {
|
||
|
struct _HASH_ENTRY * pNext;
|
||
|
PPDH_COUNTER_PATH_ELEMENTS pCounter;
|
||
|
} HASH_ENTRY, *PHASH_ENTRY;
|
||
|
|
||
|
PHASH_ENTRY m_HashTable[257];
|
||
|
BOOL m_fHashTableSetup;
|
||
|
|
||
|
ULONG HashCounter ( LPTSTR szCounterName );
|
||
|
|
||
|
void ImplementAdd ( BOOL bShowObjects );
|
||
|
void UpdateFileNameString ( void );
|
||
|
void UpdateLogStartString ( void );
|
||
|
void SetButtonState( void );
|
||
|
|
||
|
public:
|
||
|
|
||
|
DWORD CheckDuplicate( PPDH_COUNTER_PATH_ELEMENTS pCounter);
|
||
|
BOOL RemoveCounterFromHashTable( LPTSTR szCounterName, PPDH_COUNTER_PATH_ELEMENTS pCounterPath);
|
||
|
void SetupCountersHashTable( void );
|
||
|
void ClearCountersHashTable ( void );
|
||
|
PPDH_COUNTER_PATH_ELEMENTS InsertCounterToHashTable ( LPTSTR szCounterName );
|
||
|
|
||
|
};
|
||
|
|
||
|
//{{AFX_INSERT_LOCATION}}
|
||
|
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
|
||
|
|
||
|
#endif // _CTRSPROP_H_
|