home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Softwarová Záchrana 3
/
Softwarova-zachrana-3.bin
/
pserv.cpl
/
pserv-2.4.exe
/
source
/
AdvancedPage.cpp
< prev
next >
Wrap
C/C++ Source or Header
|
2005-01-05
|
4KB
|
122 lines
// AdvancedPage.cpp : implementation file
//
#include "stdafx.h"
#include "pserv2.h"
#include "AdvancedPage.h"
#include "cservice.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CAdvancedPage property page
IMPLEMENT_DYNCREATE(CAdvancedPage, CPropertyPage)
#define SERVICE_TYPE_OWN_PROCESS (0)
#define SERVICE_TYPE_SHARED_PROCESS (1)
#define SERVICE_TYPE_KERNEL_DRIVER (2)
#define SERVICE_TYPE_FS_DRIVER (3)
#define SERVICE_TYPE_ADAPTER_DRIVER (4)
#define SERVICE_TYPE_RECOGNIZER_DRIVER (5)
#define SERVICE_TYPE_OTHER (6)
int GetServiceTypeAsIndex( DWORD m_dwServiceType)
{
if( m_dwServiceType & SERVICE_WIN32_OWN_PROCESS )
return SERVICE_TYPE_OWN_PROCESS;
if( m_dwServiceType & SERVICE_WIN32_SHARE_PROCESS )
return SERVICE_TYPE_SHARED_PROCESS;
if( m_dwServiceType & SERVICE_ADAPTER )
return SERVICE_TYPE_ADAPTER_DRIVER;
if( m_dwServiceType & SERVICE_RECOGNIZER_DRIVER )
return SERVICE_TYPE_RECOGNIZER_DRIVER;
if( m_dwServiceType & SERVICE_KERNEL_DRIVER )
return SERVICE_TYPE_KERNEL_DRIVER;
if( m_dwServiceType & SERVICE_FILE_SYSTEM_DRIVER )
return SERVICE_TYPE_FS_DRIVER;
return SERVICE_TYPE_OTHER;
}
void CAdvancedPage::SetService(CService* instance)
{
m_pService = instance;
if( m_pService != NULL )
{
m_dwErrorControl = m_pService->m_dwErrorControl;
}
}
CAdvancedPage::CAdvancedPage()
: CPropertyPage(CAdvancedPage::IDD),
m_pService( 0 )
{
//{{AFX_DATA_INIT(CAdvancedPage)
m_dwErrorControl = 0;
//}}AFX_DATA_INIT
}
CAdvancedPage::~CAdvancedPage()
{
}
void CAdvancedPage::DoDataExchange(CDataExchange* pDX)
{
CPropertyPage::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CAdvancedPage)
DDX_Control(pDX, IDC_LOAD_ORDER_GROUP, m_cbLoadOrderGroups);
DDX_Control(pDX, IDC_SERVICE_TYPE, m_cbServiceType);
DDX_CBIndex(pDX, IDC_ERROR_CONTROL, m_dwErrorControl);
//}}AFX_DATA_MAP
if( pDX->m_bSaveAndValidate )
{
if( (DWORD) m_dwErrorControl != m_pService->m_dwErrorControl )
{
m_pService->m_dwErrorControl = (DWORD) m_dwErrorControl;
m_pService->m_dwChangeFlags |= CHANGED_ERROR_CONTROL;
}
}
else
{
CServiceList* list = m_pService->GetOwner();
int nSelect = 0;
m_cbLoadOrderGroups.AddString(_T("- NONE -") );
for( int nIndex = 0, nMaxIndex = list->m_LoadOrderGroups.GetSize(); nIndex < nMaxIndex; nIndex++ )
{
LPCTSTR string = list->m_LoadOrderGroups.GetAt(nIndex);
m_cbLoadOrderGroups.AddString( string );
if( m_pService->m_strLoadOrderGroup.CompareNoCase(string) == 0 )
{
nSelect = nIndex+1;
}
}
m_cbLoadOrderGroups.SetCurSel(nSelect);
m_cbServiceType.AddString( _T("Own process") );
m_cbServiceType.AddString( _T("Shared process") );
m_cbServiceType.AddString( _T("Kernel driver") );
m_cbServiceType.AddString( _T("File system driver") );
m_cbServiceType.AddString( _T("Adapter driver") );
m_cbServiceType.AddString( _T("Recognizer driver") );
m_cbServiceType.AddString( _T("Other") );
m_cbServiceType.SetCurSel(GetServiceTypeAsIndex(m_pService->m_dwServiceType));
}
}
BEGIN_MESSAGE_MAP(CAdvancedPage, CPropertyPage)
//{{AFX_MSG_MAP(CAdvancedPage)
// NOTE: the ClassWizard will add message map macros here
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CAdvancedPage message handlers