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 Microsoft Corporation
//
// Module Name:
// AclUtils.cpp
//
// Abstract:
// Various Access Control List (ACL) utilities.
//
// Author:
// Galen Barbee (galenb) February 11, 1998
//
// Revision History:
//
// Notes:
//
/////////////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "AclUtils.h"
#include "DllBase.h"
#include <lmerr.h>
class CAclUiDLL : public CDynamicLibraryBase { public: CAclUiDLL() { m_lpszLibraryName = _T( "aclui.dll" ); m_lpszFunctionName = "CreateSecurityPage"; }
HPROPSHEETPAGE CreateSecurityPage( LPSECURITYINFO psi );
protected: typedef HPROPSHEETPAGE (*ACLUICREATESECURITYPAGEPROC) (LPSECURITYINFO); };
HPROPSHEETPAGE CAclUiDLL::CreateSecurityPage( LPSECURITYINFO psi ) { ASSERT( m_hLibrary != NULL ); ASSERT( m_pfFunction != NULL );
return ( (ACLUICREATESECURITYPAGEPROC) m_pfFunction ) ( psi ); }
//////////////////////////////////////////////////////////////////////////
// static instances of the dynamically loaded DLL's
static CAclUiDLL g_AclUiDLL;
//+-------------------------------------------------------------------------
//
// Function: CreateClusterSecurityPage
//
// Synopsis: Create the common NT security hpage.
//
// Arguments: [psecinfo] - *psecinfo points to a security descriptor.
// Caller is responsible for freeing it.
//
// Returns: Valid hpage or 0 for error.
//
// History:
// GalenB 11-Feb-1998 Created.
//
//--------------------------------------------------------------------------
HPROPSHEETPAGE CreateClusterSecurityPage( CSecurityInformation* psecinfo ) { ASSERT( NULL != psecinfo );
HPROPSHEETPAGE hPage = 0;
if ( g_AclUiDLL.Load() ) { psecinfo->AddRef(); hPage = g_AclUiDLL.CreateSecurityPage( psecinfo ); ASSERT( hPage != NULL ); if ( hPage == NULL ) { TRACE( _T( "CreateClusterSecurityPage() - Failed to create security page.\r" ) ); }
psecinfo->Release(); } else { TRACE( _T( "CreateClusterSecurityPage() - Failed to load AclUi.dll.\r" ) ); }
return hPage; }
|