190 lines
4.5 KiB
C++
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_)
|