2025-04-27 07:49:33 -04:00

150 lines
3.2 KiB
C++

/*++
Copyright (c) 1994-1998 Microsoft Corporation
Module Name :
perform.h
Abstract:
WWW Performance Property Page definitions
Author:
Ronald Meijer (ronaldm)
Project:
Internet Services Manager
Revision History:
--*/
#ifndef __PERFORM_H__
#define __PERFORM_H__
class CW3PerfPage : public CInetPropertyPage
/*++
Class Description:
WWW Performance tab
Public Interface:
CW3PerfPage : Constructor
--*/
{
DECLARE_DYNCREATE(CW3PerfPage)
//
// Construction
//
public:
CW3PerfPage(CInetPropertySheet * pSheet = NULL);
~CW3PerfPage();
//
// Dialog Data
//
protected:
//{{AFX_DATA(CW3PerfPage)
enum { IDD = IDD_PERFORMANCE };
BOOL m_fEnableCPUAccounting;
BOOL m_fEnforceLimits;
BOOL m_fLimitNetworkUse;
DWORD m_dwCPUPercentage;
CEdit m_edit_MaxNetworkUse;
CEdit m_edit_CPUPercentage;
CButton m_check_LogEventOnly;
CButton m_check_LimitNetworkUse;
CButton m_check_EnableCPUAccounting;
CStatic m_static_MaxNetworkUse;
CStatic m_static_KBS;
CStatic m_static_Throttling;
CStatic m_static_Percent;
CStatic m_static_CPU_Prompt;
CSliderCtrl m_sld_PerformanceTuner;
//}}AFX_DATA
int m_nServerSize;
DWORD m_dwCPULimitLogEventRaw;
DWORD m_dwCPULimitPriorityRaw;
DWORD m_dwCPULimitPauseRaw;
DWORD m_dwCPULimitProcStopRaw;
CILong m_nMaxNetworkUse;
CILong m_nVisibleMaxNetworkUse;
//
// Overrides
//
protected:
virtual HRESULT FetchLoadedValues();
virtual HRESULT SaveInfo();
//{{AFX_VIRTUAL(CW3PerfPage)
public:
virtual BOOL OnSetActive();
protected:
virtual void DoDataExchange(CDataExchange * pDX);
//}}AFX_VIRTUAL
protected:
static void ParseMaxNetworkUse(
IN CILong & nMaxNetworkUse,
OUT CILong & nVisibleMaxNetworkUse,
OUT BOOL & fLimitNetworkUse
);
static void
BuildMaxNetworkUse(
OUT CILong & nMaxNetworkUse,
IN CILong & nVisibleMaxNetworkUse,
IN IN BOOL & fLimitNetworkUse
);
//
// Implementation
//
protected:
//{{AFX_MSG(CW3PerfPage)
virtual BOOL OnInitDialog();
afx_msg void OnCheckEnableCpuAccounting();
afx_msg void OnCheckLimitNetworkUse();
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar * pScrollBar);
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar * pScrollBar);
//}}AFX_MSG
afx_msg void OnItemChanged();
DECLARE_MESSAGE_MAP()
BOOL SetControlStates();
};
//
// Inline Expansion
//
// <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
inline /* static */ void CW3PerfPage::BuildMaxNetworkUse(
OUT CILong & nMaxNetworkUse,
IN CILong & nVisibleMaxNetworkUse,
IN IN BOOL & fLimitNetworkUse
)
{
nMaxNetworkUse = fLimitNetworkUse
? nVisibleMaxNetworkUse * KILOBYTE
: INFINITE_BANDWIDTH;
}
#endif // __PERFORM_H__