This commit is contained in:
niko
2026-06-04 11:42:34 +02:00
parent f39ba70a9f
commit e720b98cd1
7488 changed files with 2493818 additions and 0 deletions
@@ -0,0 +1,124 @@
using System;
using System.Collections.Generic;
namespace System.Security.AccessControl
{
/// <summary>Represents an Access Control List (ACL).</summary>
// Token: 0x020004D8 RID: 1240
public sealed class RawAcl : GenericAcl
{
/// <summary>Initializes a new instance of the <see cref="T:System.Security.AccessControl.RawAcl" /> class with the specified revision level.</summary>
/// <param name="revision">The revision level of the new Access Control List (ACL).</param>
/// <param name="capacity">The number of Access Control Entries (ACEs) this <see cref="T:System.Security.AccessControl.RawAcl" /> object can contain. This number is to be used only as a hint.</param>
// Token: 0x06002E05 RID: 11781 RVA: 0x0009416C File Offset: 0x0009236C
public RawAcl(byte revision, int capacity)
{
this.revision = revision;
this.list = new List<GenericAce>(capacity);
}
/// <summary>Initializes a new instance of the <see cref="T:System.Security.AccessControl.RawAcl" /> class from the specified binary form.</summary>
/// <param name="binaryForm">An array of byte values that represent an Access Control List (ACL).</param>
/// <param name="offset">The offset in the <paramref name="binaryForm" /> parameter at which to begin unmarshaling data.</param>
// Token: 0x06002E06 RID: 11782 RVA: 0x00094188 File Offset: 0x00092388
public RawAcl(byte[] binaryForm, int offset)
: this(0, 10)
{
}
/// <summary>Gets the length, in bytes, of the binary representation of the current <see cref="T:System.Security.AccessControl.RawAcl" /> object. This length should be used before marshaling the ACL into a binary array with the <see cref="M:System.Security.AccessControl.RawAcl.GetBinaryForm" /> method.</summary>
/// <returns>The length, in bytes, of the binary representation of the current <see cref="T:System.Security.AccessControl.RawAcl" /> object.</returns>
// Token: 0x17000918 RID: 2328
// (get) Token: 0x06002E07 RID: 11783 RVA: 0x00094194 File Offset: 0x00092394
[MonoTODO]
public override int BinaryLength
{
get
{
throw new NotImplementedException();
}
}
/// <summary>Gets the number of access control entries (ACEs) in the current <see cref="T:System.Security.AccessControl.RawAcl" /> object.</summary>
/// <returns>The number of ACEs in the current <see cref="T:System.Security.AccessControl.RawAcl" /> object.</returns>
// Token: 0x17000919 RID: 2329
// (get) Token: 0x06002E08 RID: 11784 RVA: 0x0009419C File Offset: 0x0009239C
public override int Count
{
get
{
return this.list.Count;
}
}
/// <summary>Gets or sets the Access Control Entry (ACE) at the specified index.</summary>
/// <returns>The ACE at the specified index.</returns>
/// <param name="index">The zero-based index of the ACE to get or set.</param>
// Token: 0x1700091A RID: 2330
public override GenericAce this[int index]
{
get
{
return this.list[index];
}
set
{
this.list[index] = value;
}
}
/// <summary>Gets the revision level of the <see cref="T:System.Security.AccessControl.RawAcl" />.</summary>
/// <returns>A byte value that specifies the revision level of the <see cref="T:System.Security.AccessControl.RawAcl" />.</returns>
// Token: 0x1700091B RID: 2331
// (get) Token: 0x06002E0B RID: 11787 RVA: 0x000941CC File Offset: 0x000923CC
public override byte Revision
{
get
{
return this.revision;
}
}
/// <summary>Marshals the contents of the <see cref="T:System.Security.AccessControl.RawAcl" /> 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.RawAcl" /> 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.RawAcl" /> to be copied into <paramref name="array" />.</exception>
// Token: 0x06002E0C RID: 11788 RVA: 0x000941D4 File Offset: 0x000923D4
[MonoTODO]
public override void GetBinaryForm(byte[] binaryForm, int offset)
{
throw new NotImplementedException();
}
/// <summary>Inserts the specified Access Control Entry (ACE) at the specified index.</summary>
/// <param name="index">The position at which to add the new ACE. Specify the value of the <see cref="P:System.Security.AccessControl.RawAcl.Count" /> property to insert an ACE at the end of the <see cref="T:System.Security.AccessControl.RawAcl" /> object.</param>
/// <param name="ace">The ACE to insert.</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: 0x06002E0D RID: 11789 RVA: 0x000941DC File Offset: 0x000923DC
public void InsertAce(int index, GenericAce ace)
{
if (ace == null)
{
throw new ArgumentNullException("ace");
}
this.list.Insert(index, ace);
}
/// <summary>Removes the Access Control Entry (ACE) at the specified location.</summary>
/// <param name="index">The zero-based index of the ACE to remove.</param>
/// <exception cref="T:System.ArgumentOutOfRangeException">The value of the <paramref name="index" /> parameter is higher than the value of the <see cref="P:System.Security.AccessControl.RawAcl.Count" /> property minus one or is negative.</exception>
// Token: 0x06002E0E RID: 11790 RVA: 0x00094210 File Offset: 0x00092410
public void RemoveAce(int index)
{
this.list.RemoveAt(index);
}
// Token: 0x04001227 RID: 4647
private byte revision;
// Token: 0x04001228 RID: 4648
private List<GenericAce> list;
}
}