// W3SvcAgent.h: interface for the CW3SvcAgent class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_W3SVCAGENT_H__D10CF1B7_10C9_45DC_95A7_3AAEA1CFE558__INCLUDED_)
#define AFX_W3SVCAGENT_H__D10CF1B7_10C9_45DC_95A7_3AAEA1CFE558__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <Accctrl.h>
const ERRORCODE_CHECKSERVICEERROR = 1;
const ERRORCODE_CANNTSTARTSERVICE = 2;
const ERRORCODE_NOSERVICE = 3;
const ERRORCODE_SUCCESS = 0;
class CW3SvcAgent
{
public:
CW3SvcAgent();
virtual ~CW3SvcAgent();
public:
int CheckW3SvcExist();
bool DeleteWebServer(LPCTSTR lpszServerComment);
bool CreateWebServer(LPCTSTR lpszServerComment, LPCTSTR lpszBindAddress,LPCTSTR lpszDomain,LPCTSTR lpszPathName);
bool DeleteVirtualDirectry(LPCTSTR lpszVirtualDirName);
bool CreateVirtualDirectry(LPCTSTR lpszVirtualDirName,LPCTSTR lpszDiskPath);
bool AddAclToDir(LPTSTR pszDir,LPTSTR pszUserName,DWORD dwAccessRights);
protected:
DWORD AddAceToObjectsSecurityDescriptor (
LPTSTR pszObjName, // name of 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
);
//Sample //DWORD dwResult = AddAceToObjectsSecurityDescriptor(
// szDirectory[i],
// SE_FILE_OBJECT,
// szUser,
// TRUSTEE_IS_NAME,
// dwPermission[i],
// GRANT_ACCESS ,
// SUB_CONTAINERS_AND_OBJECTS_INHERIT);
};
#endif // !defined(AFX_W3SVCAGENT_H__D10CF1B7_10C9_45DC_95A7_3AAEA1CFE558__INCLUDED_)