Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

164 lines
4.6 KiB

  1. //
  2. // Driver Verifier UI
  3. // Copyright (c) Microsoft Corporation, 1999
  4. //
  5. //
  6. // module: ModSPage.hxx
  7. // author: DMihai
  8. // created: 01/04/98
  9. //
  10. // Description:
  11. //
  12. // Modify settings PropertyPage.
  13. #if !defined(AFX_MODSPAGE_H__9DBAC090_A5B6_11D2_98C6_00A0C9A26FFC__INCLUDED_)
  14. #define AFX_MODSPAGE_H__9DBAC090_A5B6_11D2_98C6_00A0C9A26FFC__INCLUDED_
  15. #if _MSC_VER > 1000
  16. #pragma once
  17. #endif // _MSC_VER > 1000
  18. // ModSPage.h : header file
  19. //
  20. #include "verify.hxx"
  21. /////////////////////////////////////////////////////////////////////////////
  22. // applied any changes ?
  23. // (will give the reboot message and EXIT_CODE_REBOOT_NEEDED if TRUE)
  24. extern BOOL g_bSettingsSaved;
  25. /////////////////////////////////////////////////////////////////////////////
  26. // CModifSettPage dialog
  27. class CModifSettPage : public CPropertyPage
  28. {
  29. DECLARE_DYNCREATE(CModifSettPage)
  30. // Construction
  31. public:
  32. CModifSettPage();
  33. ~CModifSettPage();
  34. protected:
  35. // type definition
  36. typedef enum tagControlState
  37. {
  38. vrfControlDisabled = 1,
  39. vrfControlEnabled = 2
  40. } VRF_CONTROL_STATE;
  41. protected:
  42. // Dialog Data
  43. //{{AFX_DATA(CModifSettPage)
  44. enum { IDD = IDD_MODIF_PAGE };
  45. CButton m_PagedCCheck;
  46. CButton m_SpecialPoolVerifCheck;
  47. CButton m_AllocFCheck;
  48. CButton m_PoolTCheck;
  49. CButton m_IOVerifCheck;
  50. CEdit m_AdditDrvEdit;
  51. CButton m_ResetAllButton;
  52. CButton m_VerifyButton;
  53. CListCtrl m_DriversList;
  54. CButton m_DontVerifButton;
  55. CButton m_ApplyButton;
  56. BOOL m_bAllocFCheck;
  57. BOOL m_bSpecialPoolCheck;
  58. BOOL m_bPagedCCheck;
  59. BOOL m_bPoolTCheck;
  60. BOOL m_bIoVerifierCheck;
  61. int m_nVerifyAllRadio;
  62. CString m_strAdditDrivers;
  63. int m_nIoVerTypeRadio;
  64. //}}AFX_DATA
  65. VRF_VERIFIER_STATE m_VerifState; // read from the registry
  66. VRF_CONTROL_STATE m_eListState; // enabled/disabled
  67. VRF_CONTROL_STATE m_eApplyButtonState; // enabled/disabled
  68. VRF_CONTROL_STATE m_eIoRadioState; // enabled/disabled
  69. BOOL m_bAscendDrvNameSort; // sort ascend/descend by the name
  70. BOOL m_bAscendDrvVerifSort; // sort ascend/descend by the status
  71. BOOL m_bAscendProviderSort; // sort ascend/descend by the provider
  72. BOOL m_bAscendVersionSort; // sort ascend/descend by the version
  73. int m_nLastColumnClicked;
  74. // Overrides
  75. // ClassWizard generate virtual function overrides
  76. //{{AFX_VIRTUAL(CModifSettPage)
  77. public:
  78. virtual void OnOK();
  79. virtual BOOL OnQueryCancel();
  80. virtual BOOL OnApply();
  81. protected:
  82. virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
  83. //}}AFX_VIRTUAL
  84. protected:
  85. // operations
  86. void GetDlgDataFromSett();
  87. void UpdateControlsState();
  88. void EnableControl( CWnd &wndCtrl, VRF_CONTROL_STATE eNewState );
  89. void SetupTheList();
  90. void SetupListHeader();
  91. void AddTheListItems();
  92. void UpdateSecondColumn( int nItemIndex, BOOL bVerifiedAfterBoot, BOOL bVerifiedNow );
  93. void ToggleItemsState( BOOL bVerified );
  94. BOOL ApplyTheChanges();
  95. static int CALLBACK DrvVerifCmpFunc(
  96. LPARAM lParam1,
  97. LPARAM lParam2,
  98. LPARAM lParamSort);
  99. static int CALLBACK DrvNameCmpFunc(
  100. LPARAM lParam1,
  101. LPARAM lParam2,
  102. LPARAM lParamSort);
  103. static int CALLBACK ProviderCmpFunc(
  104. LPARAM lParam1,
  105. LPARAM lParam2,
  106. LPARAM lParamSort);
  107. static int CALLBACK VersionCmpFunc(
  108. LPARAM lParam1,
  109. LPARAM lParam2,
  110. LPARAM lParamSort);
  111. // Implementation
  112. protected:
  113. // Generated message map functions
  114. //{{AFX_MSG(CModifSettPage)
  115. afx_msg void OnVerifallRadio();
  116. afx_msg void OnVerifselRadio();
  117. afx_msg void OnCheck();
  118. afx_msg void OnIoCheck();
  119. afx_msg void OnVerifyButton();
  120. afx_msg void OnDontverifyButton();
  121. afx_msg void OnApplyButton();
  122. afx_msg void OnColumnclickDriversList(NMHDR* pNMHDR, LRESULT* pResult);
  123. virtual void OnCancel();
  124. afx_msg void OnChangeAdditDrvnamesEdit();
  125. afx_msg void OnResetallButton();
  126. afx_msg void OnPrefButton();
  127. virtual BOOL OnInitDialog();
  128. afx_msg void OnRclickDriversList(NMHDR* pNMHDR, LRESULT* pResult);
  129. afx_msg void OnDoVerify();
  130. afx_msg void OnDontVerify();
  131. afx_msg LONG OnHelp( WPARAM wParam, LPARAM lParam );
  132. afx_msg LONG OnContextMenu( WPARAM wParam, LPARAM lParam );
  133. //}}AFX_MSG
  134. DECLARE_MESSAGE_MAP()
  135. };
  136. //{{AFX_INSERT_LOCATION}}
  137. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  138. #endif // !defined(AFX_MODSPAGE_H__9DBAC090_A5B6_11D2_98C6_00A0C9A26FFC__INCLUDED_)