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.
|
|
#ifndef _adminacl_h_
#define _adminacl_h_
class CAdminACL { private:
IADs* m_pADs; IADsSecurityDescriptor* m_pSD; IADsAccessControlList* m_pDACL;
public:
CAdminACL(); ~CAdminACL();
HRESULT GetObjectAsync( IWbemClassObject* pObj, ParsedObjectPath* pParsedObject, WMI_CLASS* pWMIClass );
HRESULT PutObjectAsync( IWbemClassObject* pObj, ParsedObjectPath* pParsedObject, WMI_CLASS* pWMIClass );
HRESULT DeleteObjectAsync(ParsedObjectPath* pParsedObject);
HRESULT OpenSD(_bstr_t bstrAdsPath); void CloseSD();
HRESULT GetACEEnum(IEnumVARIANT** pEnum);
private:
HRESULT SetSD();
HRESULT GetAdsPath(_bstr_t& bstrAdsPath); HRESULT PingAdminACL(IWbemClassObject* pObj); HRESULT SetAdminACL( IWbemClassObject* pObj );
HRESULT PingACE( IWbemClassObject* pObj, IADsAccessControlEntry* pACE );
HRESULT GetACE( IWbemClassObject* pObj, _bstr_t& bstrTrustee );
void GetTrustee( IWbemClassObject* pObj, ParsedObjectPath* pPath, _bstr_t& bstrTrustee );
HRESULT AddACE( IWbemClassObject* pObj, _bstr_t& bstrTrustee );
HRESULT NewACE( IWbemClassObject* pObj, _bstr_t& bstrTrustee, IADsAccessControlEntry** ppACE );
HRESULT RemoveACE(_bstr_t& bstrTrustee);
HRESULT SetDataOfACE( IWbemClassObject* pObj, IADsAccessControlEntry* pACE );
HRESULT UpdateACE( IWbemClassObject* pObj, _bstr_t& bstrTrustee, BOOL& fAceExisted ); };
#endif
|