using System;
namespace System.Security.AccessControl
{
/// Represents an Access Control Entry (ACE) that is not defined by one of the members of the enumeration.
// Token: 0x020004B9 RID: 1209
public sealed class CustomAce : GenericAce
{
/// Initializes a new instance of the class.
/// Type of the new Access Control Entry (ACE). This value must be greater than .
/// Flags that specify information about the inheritance, inheritance propagation, and auditing conditions for the new ACE.
/// An array of byte values that contains the data for the new ACE. This value can be null. The length of this array must not be greater than the value of the field, and must be a multiple of four.
/// The value of the parameter is not greater than or the length of the array is either greater than the value of the field or not a multiple of four.
// Token: 0x06002D0E RID: 11534 RVA: 0x0009359C File Offset: 0x0009179C
public CustomAce(AceType type, AceFlags flags, byte[] opaque)
: base(type)
{
base.AceFlags = flags;
this.SetOpaque(opaque);
}
/// 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: 0x170008D8 RID: 2264
// (get) Token: 0x06002D0F RID: 11535 RVA: 0x000935B4 File Offset: 0x000917B4
[MonoTODO]
public override int BinaryLength
{
get
{
throw new NotImplementedException();
}
}
/// Gets the length of the opaque data associated with this object.
/// The length of the opaque callback data.
// Token: 0x170008D9 RID: 2265
// (get) Token: 0x06002D10 RID: 11536 RVA: 0x000935BC File Offset: 0x000917BC
public int OpaqueLength
{
get
{
return this.opaque.Length;
}
}
/// 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: 0x06002D11 RID: 11537 RVA: 0x000935C8 File Offset: 0x000917C8
[MonoTODO]
public override void GetBinaryForm(byte[] binaryForm, int offset)
{
throw new NotImplementedException();
}
/// Returns the opaque data associated with this object.
/// An array of byte values that represents the opaque data associated with this object.
// Token: 0x06002D12 RID: 11538 RVA: 0x000935D0 File Offset: 0x000917D0
public byte[] GetOpaque()
{
return (byte[])this.opaque.Clone();
}
/// Sets the opaque callback data associated with this object.
/// An array of byte values that represents the opaque callback data for this object.
// Token: 0x06002D13 RID: 11539 RVA: 0x000935E4 File Offset: 0x000917E4
public void SetOpaque(byte[] opaque)
{
if (opaque == null)
{
throw new ArgumentNullException("opaque");
}
this.opaque = (byte[])opaque.Clone();
}
// Token: 0x040011D2 RID: 4562
private byte[] opaque;
/// Returns the maximum allowed length of an opaque data blob for this object.
// Token: 0x040011D3 RID: 4563
[MonoTODO]
public static readonly int MaxOpaqueLength;
}
}