Windows-Server-2003/sdktools/verifier/dstspage.h

190 lines
4.5 KiB
C++

//
// Driver Verifier UI
// Copyright (c) Microsoft Corporation, 1999
//
//
//
// module: DStsPage.h
// author: DMihai
// created: 11/1/00
//
// Description:
//
#if !defined(AFX_DRIVERSTATUSPAGE_H__24C9AD87_924A_4E7B_99D3_A69947701E74__INCLUDED_)
#define AFX_DRIVERSTATUSPAGE_H__24C9AD87_924A_4E7B_99D3_A69947701E74__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DriverStatusPage.h : header file
//
#include "VerfPage.h"
/////////////////////////////////////////////////////////////////////////////
// CDriverStatusPage dialog
class CDriverStatusPage : public CVerifierPropertyPage
{
DECLARE_DYNCREATE(CDriverStatusPage)
// Construction
public:
CDriverStatusPage();
~CDriverStatusPage();
protected:
//
// Data
//
CPropertySheet *m_pParentSheet;
//
// Runtime data (obtained from the kernel)
//
CRuntimeVerifierData m_RuntimeVerifierData;
//
// Driver list sort parameters
//
INT m_nSortColumnIndexDrv; // sort by name (0) or by status (1)
BOOL m_bAscendDrvNameSort; // sort ascendent by name
BOOL m_bAscendDrvStatusSort; // sort ascendent by status
//
// Settings bits sort parameters
//
INT m_nSortColumnIndexSettbits; // sort by enabled/disabled (0) or by bit name (1)
BOOL m_bAscendSortEnabledBits; // sort ascendent by enabled/disabled
BOOL m_bAscendSortNameBits; // sort ascendent by bit name
//
// Timer handler, returned by SetTimer()
//
UINT_PTR m_uTimerHandler;
BOOL m_bTimerBlocked;
//
// Dialog Data
//
//{{AFX_DATA(CDriverStatusPage)
enum { IDD = IDD_DRVSTATUS_STAT_PAGE };
CListCtrl m_SettBitsList;
CStatic m_NextDescription;
CListCtrl m_DriversList;
//}}AFX_DATA
public:
//
// Methods
//
VOID SetParentSheet( CPropertySheet *pParentSheet )
{
m_pParentSheet = pParentSheet;
ASSERT( m_pParentSheet != NULL );
}
protected:
VOID RefreshInfo();
//
// Driver status list control methods
//
VOID SetupListHeaderDrivers();
VOID FillTheListDrivers();
VOID UpdateStatusColumnDrivers( INT_PTR nItemIndex, INT_PTR nCrtDriver );
VOID SortTheListDrivers();
static int CALLBACK DrvStatusCmpFunc(
LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort);
static int CALLBACK DrvNameCmpFunc(
LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort);
//
// Settings bits list control methods
//
VOID SetupListHeaderSettBits();
VOID FillTheListSettBits();
VOID AddListItemSettBits( INT nItemData, BOOL bEnabled, ULONG uIdResourceString );
VOID UpdateStatusColumnSettBits( INT nIndexInList, BOOL bEnabled );
VOID RefreshListSettBits();
VOID SortTheListSettBits();
BOOL SettbitsGetBitName( LPARAM lItemData,
TCHAR *szBitName,
ULONG uBitNameBufferLen );
BOOL IsSettBitEnabled( INT_PTR nBitIndex );
static int CALLBACK SettbitsEnabledCmpFunc(
LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort);
static int CALLBACK SettbitsNameCmpFunc(
LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort);
protected:
//
// Overrides
//
//
// All the property pages derived from this class should
// provide these methods.
//
virtual ULONG GetDialogId() const { return IDD; }
//
// ClassWizard generate virtual function overrides
//
//{{AFX_VIRTUAL(CDriverStatusPage)
public:
virtual BOOL OnSetActive();
virtual LRESULT OnWizardNext();
protected:
virtual VOID DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDriverStatusPage)
virtual BOOL OnInitDialog();
afx_msg VOID OnColumnclickCrtstatDriversList(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg VOID OnTimer(UINT nIDEvent);
afx_msg void OnChsettButton();
afx_msg void OnAdddrvButton();
afx_msg void OnRemdrvtButton();
afx_msg void OnColumnclickCrtstatSettbitsList(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg LONG OnHelp( WPARAM wParam, LPARAM lParam );
afx_msg void OnContextMenu(CWnd* pWnd, CPoint point);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DRIVERSTATUSPAGE_H__24C9AD87_924A_4E7B_99D3_A69947701E74__INCLUDED_)