using System; using System.Collections; namespace System.Security.AccessControl { /// Represents an access control list (ACL) and is the base class for the , , , and classes. // Token: 0x020004C7 RID: 1223 public abstract class GenericAcl : IEnumerable, ICollection { /// Copies each of the current into the specified array. /// The array into which copies of the objects contained by the current are placed. /// The zero-based index of where the copying begins. // Token: 0x06002D7B RID: 11643 RVA: 0x00093B6C File Offset: 0x00091D6C void ICollection.CopyTo(Array array, int index) { this.CopyTo((GenericAce[])array, index); } /// Returns a new instance of the class cast as an instance of the interface. /// A new object, cast as an instance of the interface. // Token: 0x06002D7C RID: 11644 RVA: 0x00093B7C File Offset: 0x00091D7C IEnumerator IEnumerable.GetEnumerator() { return this.GetEnumerator(); } /// Gets the length, in bytes, of the binary representation of the current object. This length should be used before marshaling the ACL into a binary array with the method. /// The length, in bytes, of the binary representation of the current object. // Token: 0x170008EB RID: 2283 // (get) Token: 0x06002D7D RID: 11645 public abstract int BinaryLength { get; } /// Gets the number of access control entries (ACEs) in the current object. /// The number of ACEs in the current object. // Token: 0x170008EC RID: 2284 // (get) Token: 0x06002D7E RID: 11646 public abstract int Count { get; } /// This property is always set to false. It is implemented only because it is required for the implementation of the interface. /// Always false. // Token: 0x170008ED RID: 2285 // (get) Token: 0x06002D7F RID: 11647 RVA: 0x00093B84 File Offset: 0x00091D84 public bool IsSynchronized { get { return false; } } /// Gets or sets the at the specified index. /// The at the specified index. /// The zero-based index of the to get or set. // Token: 0x170008EE RID: 2286 public abstract GenericAce this[int index] { get; set; } /// Gets the revision level of the . /// A byte value that specifies the revision level of the . // Token: 0x170008EF RID: 2287 // (get) Token: 0x06002D82 RID: 11650 public abstract byte Revision { get; } /// This property always returns null. It is implemented only because it is required for the implementation of the interface. /// Always returns null. // Token: 0x170008F0 RID: 2288 // (get) Token: 0x06002D83 RID: 11651 RVA: 0x00093B88 File Offset: 0x00091D88 public object SyncRoot { get { return this; } } /// Copies each of the current into the specified array. /// The array into which copies of the objects contained by the current are placed. /// The zero-based index of where the copying begins. // Token: 0x06002D84 RID: 11652 RVA: 0x00093B8C File Offset: 0x00091D8C public void CopyTo(GenericAce[] array, int index) { if (array == null) { throw new ArgumentNullException("array"); } if (index < 0 || array.Length - index < this.Count) { throw new ArgumentOutOfRangeException("index", "Index must be non-negative integer and must not exceed array length - count"); } for (int i = 0; i < this.Count; i++) { array[i + index] = this[i]; } } /// Marshals the contents of the object into the specified byte array beginning at the specified offset. /// The byte array into which the contents of the is marshaled. /// The offset at which to start marshaling. /// /// is negative or too high to allow the entire to be copied into . // Token: 0x06002D85 RID: 11653 public abstract void GetBinaryForm(byte[] binaryForm, int offset); /// Returns a new instance of the class. /// The that this method returns. // Token: 0x06002D86 RID: 11654 RVA: 0x00093BF4 File Offset: 0x00091DF4 public AceEnumerator GetEnumerator() { return new AceEnumerator(this); } /// The revision level of the current . This value is returned by the property for Access Control Lists (ACLs) that are not associated with Directory Services objects. // Token: 0x040011FC RID: 4604 public static readonly byte AclRevision = 2; /// The revision level of the current . This value is returned by the property for Access Control Lists (ACLs) that are associated with Directory Services objects. // Token: 0x040011FD RID: 4605 public static readonly byte AclRevisionDS = 4; /// The maximum allowed binary length of a object. // Token: 0x040011FE RID: 4606 public static readonly int MaxBinaryLength = 65536; } }