public void ApplyPermission(string trustee, ADS_ACETYPE_ENUM aceType, ADS_RIGHTS_ENUM accessMask, ADS_ACEFLAG_ENUM aceFlags, ADS_FLAGTYPE_ENUM flag ) { ApplyPermission(trustee, aceType, accessMask, aceFlags, flag, null, null); }
public void ApplyPermission(string trustee, ADS_ACETYPE_ENUM aceType, ADS_RIGHTS_ENUM accessMask, ADS_ACEFLAG_ENUM aceFlags, ADS_FLAGTYPE_ENUM flag, DirectoryEntry objectType, DirectoryEntry inheritedObject) { ActiveDs.AccessControlEntryClass ace = new AccessControlEntryClass(); ace.AccessMask = (int)accessMask; ace.Flags = (int)Enum.Parse(typeof(ActiveDs.ADS_FLAGTYPE_ENUM), Enum.GetName(typeof(ADS_FLAGTYPE_ENUM), flag)); ace.AceFlags = (int)Enum.Parse(typeof(ActiveDs.ADS_ACEFLAG_ENUM), Enum.GetName(typeof(ADS_ACEFLAG_ENUM), aceFlags)); ace.AceType = (int)Enum.Parse(typeof(ActiveDs.ADS_ACETYPE_ENUM), Enum.GetName(typeof(ADS_ACETYPE_ENUM), aceType)); ace.Trustee = trustee; this._accessControlList.AddAce(ace); _securityDescriptor.DiscretionaryAcl = this._accessControlList; this.CommitChanges(); }