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.
|
|
/////////////////////////////////////////////////////////////////////////////
//
// Copyright (c) 1998-1999 Microsoft Corporation
//
// Module Name:
// SmbSSht.cpp
//
// Abstract:
// Implementation of the CFileShareSecuritySheet class.
//
// Author:
// Galen Barbee (galenb) February 12, 1998
//
// Revision History:
//
// Notes:
//
/////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "resource.h"
#include "SmbSSht.h"
#include "AclUtils.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__; #endif
/////////////////////////////////////////////////////////////////////////////
// CFileShareSecuritySheet property page
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// Message Maps
BEGIN_MESSAGE_MAP(CFileShareSecuritySheet, CPropertySheet) //{{AFX_MSG_MAP(CFileShareSecuritySheet)
//}}AFX_MSG_MAP
// TODO: Modify the following lines to represent the data displayed on this page.
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//++
//
// CFileShareSecuritySheet::CFileShareSecuritySheet
//
// Routine Description:
// constructor.
//
// Arguments:
// pParent [IN]
// strCaption [IN]
//
// Return Value:
// None.
//
//--
/////////////////////////////////////////////////////////////////////////////
CFileShareSecuritySheet::CFileShareSecuritySheet( IN CWnd * pParent, IN CString const & strCaption ) : CPropertySheet( strCaption, pParent ), m_peo( NULL ), m_ppp( NULL ) { // TODO: Modify the following lines to represent the data displayed on this page.
//{{AFX_DATA_INIT(CFileShareSecuritySheet)
//}}AFX_DATA_INIT
} //*** CFileShareSecuritySheet::CFileShareSecuritySheet()
/////////////////////////////////////////////////////////////////////////////
//++
//
// CFileShareSecuritySheet::~CFileShareSecuritySheet
//
// Routine Description:
// Destructor.
//
// Arguments:
// None.
//
// Return Value:
// None.
//
//--
/////////////////////////////////////////////////////////////////////////////
CFileShareSecuritySheet::~CFileShareSecuritySheet( void ) { } //*** CFileShareSecuritySheet::~CFileShareSecuritySheet()
/////////////////////////////////////////////////////////////////////////////
//++
//
// CFileShareSecuritySheet::HrInit
//
// Routine Description:
//
//
// Arguments:
// ppp [IN]
// peo [IN]
// strNodeName [IN]
// strShareName [IN]
//
// Return Value:
// hr
//
//--
/////////////////////////////////////////////////////////////////////////////
HRESULT CFileShareSecuritySheet::HrInit( IN CFileShareParamsPage* ppp, IN CExtObject* peo, IN CString const& strNodeName, IN CString const& strShareName ) { ASSERT( ppp != NULL ); ASSERT( peo != NULL );
HRESULT _hr = S_FALSE;
if ( ( peo != NULL ) && ( ppp != NULL ) ) { m_ppp = ppp; m_peo = peo; m_strNodeName = strNodeName; m_strShareName = strShareName;
_hr = m_page.HrInit( peo, this, strNodeName ); }
return _hr;
} //*** CFileShareSecuritySheet::HrInit()
/////////////////////////////////////////////////////////////////////////////
//++
//
// CFileShareSecuritySheet::DoDataExchange
//
// Routine Description:
// Do data exchange between the dialog and the class.
//
// Arguments:
// pDX [IN OUT] Data exchange object
//
// Return Value:
// None.
//
//--
/////////////////////////////////////////////////////////////////////////////
void CFileShareSecuritySheet::DoDataExchange( CDataExchange * pDX ) { AFX_MANAGE_STATE( AfxGetStaticModuleState() );
// TODO: Modify the following lines to represent the data displayed on this page.
//{{AFX_DATA_MAP(CFileShareSecuritySheet)
//}}AFX_DATA_MAP
CPropertySheet::DoDataExchange( pDX );
} //*** CFileShareSecuritySheet::DoDataExchange()
/////////////////////////////////////////////////////////////////////////////
//++
//
// CFileShareSecuritySheet::OnInitDialog
//
// Routine Description:
// Handler for the WM_INITDIALOG message.
//
// Arguments:
// None.
//
// Return Value:
// TRUE We need the focus to be set for us.
// FALSE We already set the focus to the proper control.
//
//--
/////////////////////////////////////////////////////////////////////////////
BOOL CFileShareSecuritySheet::OnInitDialog( void ) { AFX_MANAGE_STATE( AfxGetStaticModuleState() );
CPropertySheet::OnInitDialog();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
} //*** CFileShareSecuritySheet::OnInitDialog()
/////////////////////////////////////////////////////////////////////////////
//++
//
// CFileShareSecuritySheet::BuildPropPageArray
//
// Routine Description:
// Overridden from CPropertySheet. Puts the security hpage into the
// PROPSHEETHEADER before calling ::PropertySheet().
//
// Arguments:
// None.
//
// Return Value:
// None.
//
//--
/////////////////////////////////////////////////////////////////////////////
void CFileShareSecuritySheet::BuildPropPageArray( void ) { // delete existing prop page array
delete[] (PROPSHEETPAGE*) m_psh.ppsp; // delete any old PROPSHEETPAGEs
m_psh.ppsp = NULL;
// build new PROPSHEETPAGE array and coerce to an HPROPSHEETPAGE
m_psh.phpage = (HPROPSHEETPAGE *) new PROPSHEETPAGE[1];
m_psh.dwFlags &= ~PSH_PROPSHEETPAGE; // ensure that the hpage is used
m_psh.phpage[0] = m_page.GetHPage(); // assign the hpage
m_psh.nPages = 1;
} //*** CFileShareSecuritySheet::BuildPropPageArray()
/////////////////////////////////////////////////////////////////////////////
//++
//
// CFileShareSecuritySheet::AssertValid
//
// Routine Description:
// Overridden from CPropertySheet. Couldn't have an assertion that
// the PROPSHEETHEADER was using phpage instead of pspp...
// CPropertyPage::AssertValid() required that the flag PSH_PROPSHHETPAGE
// be set.
//
// Arguments:
// None.
//
// Return Value:
// None.
//
//--
/////////////////////////////////////////////////////////////////////////////
#ifdef _DEBUG
void CFileShareSecuritySheet::AssertValid( void ) const { CWnd::AssertValid();
// NB: MFC is built using _WIN32_IE set to 0x0300. Until MFC moves up
// we cannot do the following checks because they don't align then
// _WIN32_IE is set to 0x0400.
#if ( _WIN32_IE == 0x0300 )
m_pages.AssertValid(); ASSERT( m_psh.dwSize == sizeof( PROPSHEETHEADER ) ); #endif
} //*** CFileShareSecuritySheet::AssertValid()
#endif // _DEBUG
|