128 lines
6.8 KiB
C#
128 lines
6.8 KiB
C#
using System;
|
|
using System.Security.Principal;
|
|
|
|
namespace System.Security.AccessControl
|
|
{
|
|
/// <summary>Controls access to Directory Services objects. This class represents an Access Control Entry (ACE) associated with a directory object.</summary>
|
|
// Token: 0x020004D1 RID: 1233
|
|
public sealed class ObjectAce : QualifiedAce
|
|
{
|
|
/// <summary>Initiates a new instance of the <see cref="T:System.Security.AccessControl.ObjectAce" /> class.</summary>
|
|
/// <param name="aceFlags">The inheritance, inheritance propagation, and auditing conditions for the new Access Control Entry (ACE).</param>
|
|
/// <param name="qualifier">The use of the new ACE.</param>
|
|
/// <param name="accessMask">The access mask for the ACE.</param>
|
|
/// <param name="sid">The <see cref="T:System.Security.Principal.SecurityIdentifier" /> associated with the new ACE.</param>
|
|
/// <param name="flags">Whether the <paramref name="type" /> and <paramref name="inheritedType" /> parameters contain valid object GUIDs.</param>
|
|
/// <param name="type">A GUID that identifies the object type to which the new ACE applies.</param>
|
|
/// <param name="inheritedType">A GUID that identifies the object type that can inherit the new ACE.</param>
|
|
/// <param name="isCallback">true if the new ACE is a callback type ACE.</param>
|
|
/// <param name="opaque">Opaque data associated with the new ACE. This is allowed only for callback ACE types. The length of this array must not be greater than the return value of the <see cref="M:System.Security.AccessControl.ObjectAceMaxOpaqueLength" /> method.</param>
|
|
/// <exception cref="T:System.ArgumentOutOfRangeException">The qualifier parameter contains an invalid value or the length of the value of the opaque parameter is greater than the return value of the <see cref="M:System.Security.AccessControl.ObjectAceMaxOpaqueLength" /> method.</exception>
|
|
// Token: 0x06002DBD RID: 11709 RVA: 0x00093E48 File Offset: 0x00092048
|
|
public ObjectAce(AceFlags aceFlags, AceQualifier qualifier, int accessMask, SecurityIdentifier sid, ObjectAceFlags flags, Guid type, Guid inheritedType, bool isCallback, byte[] opaque)
|
|
: base(InheritanceFlags.None, PropagationFlags.None, qualifier, isCallback, opaque)
|
|
{
|
|
base.AceFlags = aceFlags;
|
|
base.SecurityIdentifier = sid;
|
|
this.object_ace_flags = flags;
|
|
this.object_ace_type = type;
|
|
this.inherited_object_type = inheritedType;
|
|
}
|
|
|
|
/// <summary>Gets the length, in bytes, of the binary representation of the current <see cref="T:System.Security.AccessControl.ObjectAce" /> object. This length should be used before marshaling the ACL into a binary array with the <see cref="M:System.Security.AccessControl.ObjectAce.GetBinaryForm" /> method.</summary>
|
|
/// <returns>The length, in bytes, of the binary representation of the current <see cref="T:System.Security.AccessControl.ObjectAce" /> object.</returns>
|
|
// Token: 0x17000900 RID: 2304
|
|
// (get) Token: 0x06002DBE RID: 11710 RVA: 0x00093E8C File Offset: 0x0009208C
|
|
[MonoTODO]
|
|
public override int BinaryLength
|
|
{
|
|
get
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
|
|
/// <summary>Gets or sets the GUID of the object type that can inherit the Access Control Entry (ACE) that this <see cref="T:System.Security.AccessControl.ObjectAce" /> object represents.</summary>
|
|
/// <returns>The GUID of the object type that can inherit the Access Control Entry (ACE) that this <see cref="T:System.Security.AccessControl.ObjectAce" /> object represents.</returns>
|
|
// Token: 0x17000901 RID: 2305
|
|
// (get) Token: 0x06002DBF RID: 11711 RVA: 0x00093E94 File Offset: 0x00092094
|
|
// (set) Token: 0x06002DC0 RID: 11712 RVA: 0x00093E9C File Offset: 0x0009209C
|
|
public Guid InheritedObjectAceType
|
|
{
|
|
get
|
|
{
|
|
return this.inherited_object_type;
|
|
}
|
|
set
|
|
{
|
|
this.inherited_object_type = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Gets or sets flags that specify whether the <see cref="P:System.Security.AccessControl.ObjectAce.ObjectAceType" /> and <see cref="P:System.Security.AccessControl.ObjectAce.InheritedObjectAceType" /> properties contain values that identify valid object types.</summary>
|
|
/// <returns>On or more members of the <see cref="T:System.Security.AccessControl.ObjectAceFlags" /> enumeration combined with a logical OR operation.</returns>
|
|
// Token: 0x17000902 RID: 2306
|
|
// (get) Token: 0x06002DC1 RID: 11713 RVA: 0x00093EA8 File Offset: 0x000920A8
|
|
// (set) Token: 0x06002DC2 RID: 11714 RVA: 0x00093EB0 File Offset: 0x000920B0
|
|
public ObjectAceFlags ObjectAceFlags
|
|
{
|
|
get
|
|
{
|
|
return this.object_ace_flags;
|
|
}
|
|
set
|
|
{
|
|
this.object_ace_flags = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Gets or sets the GUID of the object type associated with this <see cref="T:System.Security.AccessControl.ObjectAce" /> object.</summary>
|
|
/// <returns>The GUID of the object type associated with this <see cref="T:System.Security.AccessControl.ObjectAce" /> object.</returns>
|
|
// Token: 0x17000903 RID: 2307
|
|
// (get) Token: 0x06002DC3 RID: 11715 RVA: 0x00093EBC File Offset: 0x000920BC
|
|
// (set) Token: 0x06002DC4 RID: 11716 RVA: 0x00093EC4 File Offset: 0x000920C4
|
|
public Guid ObjectAceType
|
|
{
|
|
get
|
|
{
|
|
return this.object_ace_type;
|
|
}
|
|
set
|
|
{
|
|
this.object_ace_type = value;
|
|
}
|
|
}
|
|
|
|
/// <summary>Marshals the contents of the <see cref="T:System.Security.AccessControl.ObjectAce" /> 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. ObjectAce" /> 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.ObjectAce" /> to be copied into <paramref name="array" />.</exception>
|
|
// Token: 0x06002DC5 RID: 11717 RVA: 0x00093ED0 File Offset: 0x000920D0
|
|
[MonoTODO]
|
|
public override void GetBinaryForm(byte[] binaryForm, int offset)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
/// <summary>Returns the maximum allowed length, in bytes, of an opaque data BLOB for callback Access Control Entries (ACEs).</summary>
|
|
/// <returns>The maximum allowed length, in bytes, of an opaque data BLOB for callback Access Control Entries (ACEs).</returns>
|
|
/// <param name="isCallback">True if the <see cref="T:System.Security.AccessControl.ObjectAce" /> is a callback ACE type.</param>
|
|
// Token: 0x06002DC6 RID: 11718 RVA: 0x00093ED8 File Offset: 0x000920D8
|
|
[MonoTODO]
|
|
public static int MaxOpaqueLength(bool isCallback)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
// Token: 0x04001211 RID: 4625
|
|
private Guid object_ace_type;
|
|
|
|
// Token: 0x04001212 RID: 4626
|
|
private Guid inherited_object_type;
|
|
|
|
// Token: 0x04001213 RID: 4627
|
|
private ObjectAceFlags object_ace_flags;
|
|
}
|
|
}
|