// // 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_)