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.
 
 
 
 
 
 

94 lines
4.5 KiB

/////////////////////////////////////////////////////////////////////////////
// FILE : SecurityInfo.cpp //
// //
// DESCRIPTION : The header file of the ISecurityInformation interface //
// used to instantiate a security page. //
// //
// AUTHOR : yossg //
// // //
// HISTORY : //
// Feb 7 2000 yossg Create //
// //
// Copyright (C) 2000 Microsoft Corporation All Rights Reserved //
/////////////////////////////////////////////////////////////////////////////
#ifndef __FAX_SECURITY_INFO_H_
#define __FAX_SECURITY_INFO_H_
//#include <atlcom.h>
#include "MsFxsSnp.h"
#include <aclui.h> // ACL UI editor
class CFaxServerNode; // forward decl
class ATL_NO_VTABLE CFaxSecurityInformation :
public CComObjectRootEx<CComSingleThreadModel>,
//public CComCoClass<CFaxSecurityInformation, &CLSID_FaxSecurityInformation>,
public ISecurityInformation
{
public:
CFaxSecurityInformation::CFaxSecurityInformation();
CFaxSecurityInformation::~CFaxSecurityInformation();
void Init(CFaxServerNode * pFaxServerNode)
{
ATLASSERT(pFaxServerNode);
m_pFaxServerNode = pFaxServerNode;
}
DECLARE_NOT_AGGREGATABLE(CFaxSecurityInformation)
BEGIN_COM_MAP(CFaxSecurityInformation)
//COM_INTERFACE_ENTRY(ISecurityInformation)
COM_INTERFACE_ENTRY_IID(IID_ISecurityInformation,ISecurityInformation)
END_COM_MAP()
public:
// *** ISecurityInformation methods ***
virtual HRESULT STDMETHODCALLTYPE GetObjectInformation(
OUT PSI_OBJECT_INFO pObjectInfo );
virtual HRESULT STDMETHODCALLTYPE GetSecurity(
IN SECURITY_INFORMATION RequestedInformation,
OUT PSECURITY_DESCRIPTOR *ppSecurityDescriptor,
IN BOOL fDefault );
virtual HRESULT STDMETHODCALLTYPE SetSecurity(
IN SECURITY_INFORMATION SecurityInformation,
IN PSECURITY_DESCRIPTOR pSecurityDescriptor );
virtual HRESULT STDMETHODCALLTYPE GetAccessRights(
IN const GUID* pguidObjectType,
IN DWORD dwFlags, // SI_EDIT_AUDITS, SI_EDIT_PROPERTIES
OUT PSI_ACCESS *ppAccess,
OUT ULONG *pcAccesses,
OUT ULONG *piDefaultAccess );
virtual HRESULT STDMETHODCALLTYPE MapGeneric(
IN const GUID *pguidObjectType,
IN UCHAR *pAceFlags,
IN OUT ACCESS_MASK *pMask);
virtual HRESULT STDMETHODCALLTYPE PropertySheetPageCallback(
IN HWND hwnd,
IN UINT uMsg,
IN SI_PAGE_TYPE uPage );
// no need to implement
virtual HRESULT STDMETHODCALLTYPE GetInheritTypes(
OUT PSI_INHERIT_TYPE *ppInheritTypes,
OUT ULONG *pcInheritTypes );
// internal methods
HRESULT MakeSelfRelativeCopy(
PSECURITY_DESCRIPTOR psdOriginal,
PSECURITY_DESCRIPTOR* ppsdNew
);
private:
CFaxServerNode * m_pFaxServerNode;
CComBSTR m_bstrServerName; // Computer on which to look up account names and SIDs.
CComBSTR m_bstrObjectName; // This name appears in the title of the advanced security property sheet.
};
#endif //__FAX_SECURITY_INFO_H_