177 lines
4.9 KiB
C++
177 lines
4.9 KiB
C++
/*++
|
|
|
|
Copyright (C) 1998-1999 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
alrtgenp.h
|
|
|
|
Abstract:
|
|
|
|
Header file for the alerts general property page.
|
|
|
|
--*/
|
|
|
|
#if !defined(_AFX_ALRTGENP_H__INCLUDED_)
|
|
#define _AFX_ALRTGENP_H__INCLUDED_
|
|
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif // _MSC_VER >= 1000
|
|
|
|
#include "smalrtq.h" // For PALERT_ACTION_INFO
|
|
#include "smproppg.h" // Base class
|
|
#include "smcfghlp.h"
|
|
|
|
// define entries in the Over/Under combo box here
|
|
#define OU_OVER 0
|
|
#define OU_UNDER 1
|
|
|
|
// resource definitions
|
|
#define IDD_ALERT_GENERAL_PROP 1500
|
|
|
|
#define IDC_ALRTS_START_STRING 1501
|
|
#define IDC_ALRTS_SAMPLE_CAPTION 1502
|
|
#define IDC_ALRTS_SAMPLE_INTERVAL_CAPTION 1503
|
|
#define IDC_ALRTS_SAMPLE_UNITS_CAPTION 1504
|
|
#define IDC_ALRTS_TRIGGER_CAPTION 1505
|
|
#define IDC_ALRTS_TRIGGER_VALUE_CAPTION 1506
|
|
#define IDC_ALRTS_FIRST_HELP_CTRL_ID 1507
|
|
#define IDC_ALRTS_COUNTER_LIST 1507
|
|
#define IDC_ALRTS_ADD_BTN 1508
|
|
#define IDC_ALRTS_REMOVE_BTN 1509
|
|
#define IDC_ALRTS_OVER_UNDER 1510
|
|
#define IDC_ALRTS_VALUE_EDIT 1511
|
|
#define IDC_ALRTS_COMMENT_EDIT 1512
|
|
#define IDC_ALRTS_SAMPLE_EDIT 1513
|
|
#define IDC_ALRTS_SAMPLE_SPIN 1514
|
|
#define IDC_ALRTS_SAMPLE_UNITS_COMBO 1515
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CAlertGenProp dialog
|
|
|
|
class CAlertGenProp : public CSmPropertyPage
|
|
{
|
|
DECLARE_DYNCREATE(CAlertGenProp)
|
|
|
|
// Construction
|
|
public:
|
|
CAlertGenProp();
|
|
CAlertGenProp(MMC_COOKIE mmcCookie, LONG_PTR hConsole);
|
|
virtual ~CAlertGenProp();
|
|
|
|
enum eConstants {
|
|
eInvalidLimit = -1
|
|
};
|
|
|
|
// Dialog Data
|
|
//{{AFX_DATA(CAlertGenProp)
|
|
enum { IDD = IDD_ALERT_GENERAL_PROP };
|
|
int m_nSampleUnits;
|
|
CComboBox m_SampleUnitsCombo;
|
|
CComboBox m_OverUnderCombo;
|
|
CListBox m_CounterList;
|
|
double m_dLimitValue;
|
|
CString m_strComment;
|
|
CString m_strStartDisplay;
|
|
//}}AFX_DATA
|
|
|
|
|
|
// Overrides
|
|
// ClassWizard generate virtual function overrides
|
|
//{{AFX_VIRTUAL(CAlertGenProp)
|
|
public:
|
|
protected:
|
|
virtual BOOL OnApply();
|
|
virtual BOOL OnSetActive();
|
|
virtual BOOL OnKillActive();
|
|
virtual void OnCancel();
|
|
virtual BOOL OnInitDialog();
|
|
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
|
|
virtual void PostNcDestroy();
|
|
//}}AFX_VIRTUAL
|
|
|
|
// Implementation
|
|
public:
|
|
void PublicOnSelchangeCounterList(void);
|
|
|
|
// All of these members are Public to be accessed by the callback routine.
|
|
LPTSTR m_szCounterListBuffer;
|
|
DWORD m_dwCounterListBufferSize;
|
|
DWORD m_dwMaxHorizListExtent;
|
|
PDH_BROWSE_DLG_CONFIG m_dlgConfig;
|
|
CSmAlertQuery *m_pAlertQuery; // Public for callback function
|
|
|
|
// buffers used to pass data to/from property page
|
|
LPTSTR m_szAlertCounterList; // MSZ list of alert items
|
|
DWORD m_cchAlertCounterListSize; // size of buffer in characters
|
|
|
|
protected:
|
|
|
|
virtual INT GetFirstHelpCtrlId ( void ) { return IDC_ALRTS_FIRST_HELP_CTRL_ID; };
|
|
virtual BOOL IsValidLocalData();
|
|
|
|
// Generated message map functions
|
|
//{{AFX_MSG(CAlertGenProp)
|
|
afx_msg void OnDeltaposSampleSpin(NMHDR* pNMHDR, LRESULT* pResult);
|
|
afx_msg void OnAddBtn();
|
|
afx_msg void OnRemoveBtn();
|
|
afx_msg void OnDblclkAlrtsCounterList();
|
|
afx_msg void OnChangeAlertValueEdit();
|
|
afx_msg void OnSelchangeCounterList();
|
|
afx_msg void OnClose();
|
|
afx_msg void OnCommentEditChange();
|
|
afx_msg void OnSampleTimeChanged();
|
|
afx_msg void OnKillFocusUpdateAlertData();
|
|
afx_msg void OnCommentEditKillFocus();
|
|
afx_msg void OnSelendokSampleUnitsCombo();
|
|
afx_msg void OnPwdBtn();
|
|
afx_msg void OnChangeUser();
|
|
|
|
//}}AFX_MSG
|
|
DECLARE_MESSAGE_MAP()
|
|
|
|
INT m_ndxCurrentItem;
|
|
|
|
BOOL SaveAlertItemData (void);
|
|
BOOL LoadAlertItemData (INT nIndex);
|
|
BOOL SetButtonState (void);
|
|
|
|
BOOL LoadDlgFromList ( void );
|
|
BOOL LoadListFromDlg ( INT *piInvalidIndex, BOOL bValidateOnly = FALSE );
|
|
|
|
private:
|
|
|
|
enum eValueRange {
|
|
eMinSampleInterval = 1,
|
|
eMaxSampleInterval = 999999,
|
|
eHashTableSize = 257
|
|
};
|
|
|
|
// Counter Name Multi-SZ Hash Table
|
|
|
|
typedef struct _HASH_ENTRY {
|
|
struct _HASH_ENTRY * pNext;
|
|
PPDH_COUNTER_PATH_ELEMENTS pCounter;
|
|
DWORD dwFlags;
|
|
double dLimit;
|
|
} HASH_ENTRY, *PHASH_ENTRY;
|
|
|
|
void InitAlertHashTable ( void );
|
|
void ClearAlertHashTable ( void );
|
|
ULONG HashCounter ( LPTSTR szCounterName, ULONG lHashSize );
|
|
BOOL InsertAlertToHashTable ( PALERT_INFO_BLOCK paibInfo );
|
|
|
|
void ImplementAdd ( void );
|
|
void InitAfxDataItems (void);
|
|
void UpdateAlertStartString ( void );
|
|
|
|
PHASH_ENTRY m_HashTable[257];
|
|
|
|
};
|
|
|
|
//{{AFX_INSERT_LOCATION}}
|
|
// Microsoft Developer Studio will insert additional declarations immediately before the previous line.
|
|
|
|
#endif // !defined(_AFX_ALRTGENP_H__INCLUDED_)
|