windows-nt/Source/XPSP1/NT/sdktools/verifier/win2k/vsetpage.hxx
2020-09-26 16:20:57 +08:00

135 lines
3.7 KiB
C++

//
// Driver Verifier UI
// Copyright (c) Microsoft Corporation, 1999
//
//
// module: VSetPage.hxx
// author: DMihai
// created: 07/07/99
//
// Description:
//
// Volatile settings PropertyPage.
//
#if !defined(AFX_VSETPAGE_H__5F8AD0D0_A5CA_11D2_98C6_00A0C9A26FFC__INCLUDED_)
#define AFX_VSETPAGE_H__5F8AD0D0_A5CA_11D2_98C6_00A0C9A26FFC__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// VSetPage.h : header file
//
#include "verify.hxx"
/////////////////////////////////////////////////////////////////////////////
// CVolatileSettPage dialog
class CVolatileSettPage : public CPropertyPage
{
DECLARE_DYNCREATE(CVolatileSettPage)
// Construction
public:
CVolatileSettPage();
~CVolatileSettPage();
protected:
// type definition
typedef enum tagControlState
{
vrfControlDisabled = 1,
vrfControlEnabled = 2
} VRF_CONTROL_STATE;
protected:
// Dialog Data
//{{AFX_DATA(CVolatileSettPage)
enum { IDD = IDD_VSETTINGS_PAGE };
CListCtrl m_DriversList;
CButton m_PagedCCheck;
CButton m_NormalVerifCheck;
CButton m_AllocFCheck;
CButton m_ApplyButton;
BOOL m_bAllocFCheck;
BOOL m_bNormalCheck;
BOOL m_bPagedCCheck;
int m_nUpdateIntervalIndex;
//}}AFX_DATA
KRN_VERIFIER_STATE m_KrnVerifState; // current settings (obtained from MemMgmt)
VRF_CONTROL_STATE m_eApplyButtonState; // enabled/disabled
int m_nSortColumnIndex; // sort by name (0) or by status (1)
BOOL m_bAscendDrvNameSort; // sort ascendent by name
BOOL m_bAscendDrvStatusSort; // sort ascendent by status
UINT_PTR m_uTimerHandler; // timer handler, returned by SetTimer()
BOOL m_bTimerBlocked; // the automatic refresh is disabled during changes to the drivers list
// Overrides
// ClassWizard generate virtual function overrides
//{{AFX_VIRTUAL(CVolatileSettPage)
public:
virtual BOOL OnQueryCancel();
virtual BOOL OnApply();
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CVolatileSettPage)
virtual BOOL OnInitDialog();
afx_msg void OnCrtstatRefreshButton();
afx_msg void OnColumnclickCrtstatDriversList(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnCrtstatHspeedRadio();
afx_msg void OnCrtstatLowRadio();
afx_msg void OnCrtstatManualRadio();
afx_msg void OnCrtstatNormRadio();
afx_msg void OnApplyButton();
afx_msg void OnCheck();
afx_msg void OnAddButton();
afx_msg void OnDontVerifyButton();
afx_msg void OnRclickDriversList(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg LONG OnHelp( WPARAM wParam, LPARAM lParam );
afx_msg LONG OnContextMenu( WPARAM wParam, LPARAM lParam );
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
// operations
void SetupListHeader();
void FillTheList();
void UpdateStatusColumn( int nItemIndex, ULONG uCrtDriver );
void SortTheList();
static int CALLBACK DrvStatusCmpFunc(
LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort);
static int CALLBACK DrvNameCmpFunc(
LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort);
void OnRefreshTimerChanged();
void GetDlgDataFromSett();
BOOL ApplyTheChanges();
void UpdateControlsState();
void EnableControl( CWnd &wndCtrl, VRF_CONTROL_STATE eNewState );
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_VSETPAGE_H__5F8AD0D0_A5CA_11D2_98C6_00A0C9A26FFC__INCLUDED_)