Files
2026-06-04 11:42:34 +02:00

124 lines
7.5 KiB
C#

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