//+---------------------------------------------------------------------------- // // Windows NT Secure Server Roles Security Configuration Wizard // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1992 - 2002 // // File: OtherPages.cxx // Comments: This file inlcudes Secuirty Level page and Pre-Process page. // // History: 22-Oct-01 Yanggao created // //----------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////// //Security Level Page // /////////////////////////////////////////////////////////////////////////////// #include "pch.h" #include "resource.h" #include "misc.h" #include "state.h" #include "otherpages.h" #include "chklist.h" #include "ServiceSelPage.h" SecurityLevelPage::SecurityLevelPage() : SecCfgWizardPage( IDD_SECURITY_LEVEL, IDS_SECURITY_LEVEL_PAGE_TITLE, IDS_SECURITY_LEVEL_PAGE_SUBTITLE) { LOG_CTOR(SecurityLevelPage); } SecurityLevelPage::~SecurityLevelPage() { LOG_DTOR(SecurityLevelPage); } void SecurityLevelPage::OnInit() { LOG_FUNCTION(SecurityLevelPage::OnInit); } static void enable(HWND dialog) { ASSERT(Win::IsWindow(dialog)); /*int next = PSWIZB_NEXT; if (Win::IsDlgButtonChecked(dialog, IDC_EDIT_CFG_RADIO)) { next = !Win::GetTrimmedDlgItemText(dialog, IDC_EXISTING_CFG_EDIT).empty() ? PSWIZB_NEXT : 0; } Win::PropSheet_SetWizButtons( Win::GetParent(dialog), PSWIZB_BACK | next);*/ } bool SecurityLevelPage::OnCommand( HWND /* windowFrom */ , unsigned /* controlIDFrom */ , unsigned /* code */ ) { LOG_FUNCTION(SecurityLevelPage::OnCommand); // State& state = State::GetInstance(); /*switch (controlIDFrom) { }*/ return false; } bool SecurityLevelPage::OnSetActive() { LOG_FUNCTION(SecurityLevelPage::OnSetActive); enable(hwnd); //get default security level. Win::CheckDlgButton(hwnd, IDC_MAXIMUM_LEVEL, BST_CHECKED); return true; } int SecurityLevelPage::Validate() { LOG_FUNCTION(SecurityLevelPage::Validate); int nextPage = IDD_PRE_PROCESSING; //IDD_SERVER_ROLE_SEL; // State& state = State::GetInstance(); // get security level result here. if( Win::IsDlgButtonChecked(hwnd, IDC_MAXIMUM_LEVEL)==BST_CHECKED ) { ;//level is Maximum } else { ;//level is typical } return nextPage; } ////////////////////////////////////////////////////////////////////////////////// // Pre-Process Page // ////////////////////////////////////////////////////////////////////////////////// PreProcessPage::PreProcessPage() : SecCfgWizardPage( IDD_PRE_PROCESSING, IDS_PRE_PROCESSING_PAGE_TITLE, IDS_PRE_PROCESSING_PAGE_SUBTITLE) { LOG_CTOR(PreProcessPage); } PreProcessPage::~PreProcessPage() { LOG_DTOR(PreProcessPage); } void PreProcessPage::OnInit() { LOG_FUNCTION(PreProcessPage::OnInit); } bool PreProcessPage::OnCommand( HWND /* windowFrom */ , unsigned /* controlIDFrom */ , unsigned /* code */ ) { LOG_FUNCTION(PreProcessPage::OnCommand); // Interact with engine to get real time process info and display it. /*switch (controlIDFrom) { }*/ return false; } bool PreProcessPage::OnSetActive() { LOG_FUNCTION(PreProcessPage::OnSetActive); enable(hwnd); // Set the range and increment of the progress bar. HWND hwndPB = Win::GetDlgItem(hwnd, IDC_PROGRESS_PROCESS); Win::SendMessage(hwndPB, PBM_SETRANGE, 0, MAKELPARAM(0, 100)); Win::SendMessage(hwndPB, PBM_SETSTEP, (WPARAM) 1, 0); //get pre-process info sample String strDes = String::format(IDS_DESCRIPTION_PROCESS, L"ssrmain.xml",L"Microsoft",L"10/20/2001",L"Maximum",L"DC.XML"); Win::SetDlgItemText(hwnd, IDC_DES_PROCESS, strDes); int i; for(i=0; i<100; i++) { // Advance the current position of the progress bar // by the increment. Win::SendMessage(hwndPB, PBM_STEPIT, 0, 0); } return true; } int PreProcessPage::Validate() { LOG_FUNCTION(PreProcessPage::Validate); int nextPage = IDD_SERVER_ROLE_SEL; // State& state = State::GetInstance(); // get security level result here. return nextPage; } ////////////////////////////////////////////////////////////////////////////////// // Additional Roles Page // ////////////////////////////////////////////////////////////////////////////////// AdditionalRolesPage::AdditionalRolesPage() : Dialog(IDD_ADDITIONAL_ROLE_SEL, 0) //no help map { LOG_CTOR(AdditionalRolesPage); } AdditionalRolesPage::~AdditionalRolesPage() { LOG_DTOR(AdditionalRolesPage); } void AdditionalRolesPage::OnInit() { LOG_FUNCTION(AdditionalRolesPage::OnInit); HWND hWnd = Win::GetDlgItem(hwnd, IDC_CHECKBOX); if (!hWnd) { return; } Win::SendMessage(hWnd, CLM_RESETCONTENT,0,0); } bool AdditionalRolesPage::OnCommand( HWND /*windowFrom*/, unsigned controlIDFrom, unsigned /*code*/) { LOG_FUNCTION(AdditionalRolesPage::OnCommand); // State& state = State::GetInstance(); switch (controlIDFrom) { case IDOK: Win::EndDialog(hwnd, IDOK); return true; case IDCANCEL: Win::EndDialog(hwnd, IDCANCEL); return true; default: break; } return false; } bool AdditionalRolesPage::OnMessage( UINT message, WPARAM /*wparam*/, LPARAM /*lparam*/) { LOG_FUNCTION(AdditionalRolesPage::OnMessage); switch (message) { case WM_COMMAND: default: { // do nothing break; } } return false; } ///////////////////////////////////////////////////////////////////////////////// // // ServiceDisable Method Page // ////////////////////////////////////////////////////////////////////////////////// ServiceDisableMethodPage::ServiceDisableMethodPage() : SecCfgWizardPage( IDD_SERVICEDISABLE_METHOD, IDD_SERVICEDISABLE_METHOD_PAGE_TITLE, IDD_SERVICEDISABLE_METHOD_PAGE_SUBTITLE) { LOG_CTOR(ServiceDisableMethodPage); } ServiceDisableMethodPage::~ServiceDisableMethodPage() { LOG_DTOR(ServiceDisableMethodPage); } void ServiceDisableMethodPage::OnInit() { LOG_FUNCTION(ServiceDisableMethodPage::OnInit); } bool ServiceDisableMethodPage::OnCommand( HWND /*windowFrom*/, unsigned /*controlIDFrom*/, unsigned /*code*/) { LOG_FUNCTION(ServiceDisableMethodPage::OnCommand); // State& state = State::GetInstance(); /*switch (controlIDFrom) { ; }*/ return false; } bool ServiceDisableMethodPage::OnNotify( HWND /*windowFrom*/, UINT_PTR controlIDFrom, UINT code, LPARAM /*lParam*/) { switch (controlIDFrom) { case IDC_ENABLED_SERVICES: { if (code == NM_CLICK || code == NM_RETURN ) { ServiceEnabledPage* pDlg = new ServiceEnabledPage(); if( IDOK == pDlg->ModalExecute(hwnd) ) { ; } return true; } break; } case IDC_DISABLED_SERVICES: { ; } } return false; } bool ServiceDisableMethodPage::OnSetActive() { LOG_FUNCTION(ServiceDisableMethodPage::OnSetActive); enable(hwnd); //get service disablement method. Win::CheckDlgButton(hwnd, IDC_IMPLICIT_METHOD, BST_CHECKED); return true; } int ServiceDisableMethodPage::Validate() { LOG_FUNCTION(ServiceDisableMethodPage::Validate); int nextPage = IDD_FINISH; //IDD_SERVER_ROLE_SEL; // State& state = State::GetInstance(); // get security level result here. if( Win::IsDlgButtonChecked(hwnd, IDC_IMPLICIT_METHOD)==BST_CHECKED ) { ;//Method is Implicit } else { ;//Method is Explicit } return nextPage; }