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.
104 lines
2.8 KiB
104 lines
2.8 KiB
/*++
|
|
|
|
Copyright (c) 2001 Microsoft Corporation
|
|
|
|
Module Name :
|
|
|
|
common.hxx
|
|
|
|
Abstract:
|
|
|
|
Class's that are common, will be defined here
|
|
|
|
Author:
|
|
|
|
Christopher Achille (cachille)
|
|
|
|
Project:
|
|
|
|
Internet Services Setup
|
|
|
|
Revision History:
|
|
|
|
August 2001: Created
|
|
|
|
--*/
|
|
|
|
#include "Aclapi.h"
|
|
|
|
// class: CIsUpgrade
|
|
//
|
|
// The class will tell you if you are in an upgrade, within the range you specify
|
|
//
|
|
class CIsUpgrade : public CBaseFunction {
|
|
private:
|
|
virtual BOOL VerifyParameters(CItemList &ciParams);
|
|
virtual BOOL DoInternalWork(CItemList &ciList);
|
|
|
|
public:
|
|
virtual LPTSTR GetMethodName();
|
|
};
|
|
|
|
// class: CFileSys_Acl
|
|
//
|
|
// This class gives you the common ACL commands
|
|
//
|
|
class CFileSys_Acl : public CBaseFunction
|
|
{
|
|
protected:
|
|
BOOL AddAcetoSD( HANDLE hObject, // handle to object
|
|
SE_OBJECT_TYPE ObjectType, // type of object
|
|
LPTSTR pszTrustee, // trustee for new ACE
|
|
TRUSTEE_FORM TrusteeForm, // format of TRUSTEE structure
|
|
DWORD dwAccessRights, // access mask for new ACE
|
|
ACCESS_MODE AccessMode, // type of ACE
|
|
DWORD dwInheritance, // inheritance flags for new ACE
|
|
BOOL bAddToExisting // add the new ace to the old SD, if not create a new SD
|
|
);
|
|
BOOL CreateFullFileName(BUFFER &buffFullFileName, LPTSTR szFullPathwithWildCard, LPTSTR szFileName);
|
|
BOOL SetFileAcl(LPTSTR szFileName, LPTSTR szUserName, SE_OBJECT_TYPE sObjectType, DWORD dwAccessMask, BOOL bAllowAccess,
|
|
DWORD dwInheritable, BOOL bAddAcetoOriginal);
|
|
BOOL RemoveUserFromAcl(PACL pAcl, LPTSTR szUserName);
|
|
BOOL RemoveUserAcl(LPTSTR szFile, LPTSTR szUserName);
|
|
BOOL DoAcling(CItemList &ciList, BOOL bAdd, BOOL bAddtoOriginal = TRUE );
|
|
};
|
|
|
|
// class: CFileSys_AddAcl
|
|
//
|
|
// This class will let you modify an ACL
|
|
//
|
|
class CFileSys_AddAcl : public CFileSys_Acl {
|
|
private:
|
|
virtual BOOL VerifyParameters(CItemList &ciParams);
|
|
virtual BOOL DoInternalWork(CItemList &ciList);
|
|
|
|
public:
|
|
virtual LPTSTR GetMethodName();
|
|
};
|
|
|
|
// class: CFileSys_RemoveAcl
|
|
//
|
|
// This class remove acl's for files
|
|
//
|
|
class CFileSys_RemoveAcl : public CFileSys_Acl {
|
|
private:
|
|
virtual BOOL VerifyParameters(CItemList &ciParams);
|
|
virtual BOOL DoInternalWork(CItemList &ciList);
|
|
|
|
public:
|
|
virtual LPTSTR GetMethodName();
|
|
};
|
|
|
|
// class: CFileSys_SetAcl
|
|
//
|
|
// This class will let you set an ACL (ignoring previous ACL)
|
|
//
|
|
class CFileSys_SetAcl : public CFileSys_Acl {
|
|
private:
|
|
virtual BOOL VerifyParameters(CItemList &ciParams);
|
|
virtual BOOL DoInternalWork(CItemList &ciList);
|
|
|
|
public:
|
|
virtual LPTSTR GetMethodName();
|
|
};
|
|
|