Leaked source code of windows server 2003
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.
 
 
 
 
 
 

412 lines
8.2 KiB

//+----------------------------------------------------------------------------
//
// 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;
}