217 lines
15 KiB
C#
217 lines
15 KiB
C#
using System;
|
|
using System.Runtime.InteropServices;
|
|
using System.Security.Principal;
|
|
|
|
namespace System.Security.AccessControl
|
|
{
|
|
/// <summary>Represents the Windows access control security for a named semaphore. This class cannot be inherited.</summary>
|
|
// Token: 0x02000278 RID: 632
|
|
[ComVisible(false)]
|
|
public sealed class SemaphoreSecurity : NativeObjectSecurity
|
|
{
|
|
/// <summary>Initializes a new instance of the <see cref="T:System.Security.AccessControl.SemaphoreSecurity" /> class with default values.</summary>
|
|
/// <exception cref="T:System.NotSupportedException">This class is not supported on Windows 98 or Windows Millennium Edition.</exception>
|
|
// Token: 0x06001757 RID: 5975 RVA: 0x0004E078 File Offset: 0x0004C278
|
|
public SemaphoreSecurity()
|
|
: base(false, ResourceType.Unknown)
|
|
{
|
|
}
|
|
|
|
/// <summary>Initializes a new instance of the <see cref="T:System.Security.AccessControl.SemaphoreSecurity" /> class with the specified sections of the access control security rules from the system semaphore with the specified name.</summary>
|
|
/// <param name="name">The name of the system semaphore whose access control security rules are to be retrieved.</param>
|
|
/// <param name="includeSections">A combination of <see cref="T:System.Security.AccessControl.AccessControlSections" /> flags specifying the sections to retrieve.</param>
|
|
/// <exception cref="T:System.NotSupportedException">This class is not supported on Windows 98 or Windows Millennium Edition.</exception>
|
|
// Token: 0x06001758 RID: 5976 RVA: 0x0004E084 File Offset: 0x0004C284
|
|
public SemaphoreSecurity(string name, AccessControlSections includesections)
|
|
: base(false, ResourceType.Unknown, name, includesections)
|
|
{
|
|
}
|
|
|
|
/// <summary>Gets the enumeration that the <see cref="T:System.Security.AccessControl.SemaphoreSecurity" /> class uses to represent access rights.</summary>
|
|
/// <returns>A <see cref="T:System.Type" /> object representing the <see cref="T:System.Security.AccessControl.SemaphoreRights" /> enumeration.</returns>
|
|
// Token: 0x1700076C RID: 1900
|
|
// (get) Token: 0x06001759 RID: 5977 RVA: 0x0004E090 File Offset: 0x0004C290
|
|
public override Type AccessRightType
|
|
{
|
|
get
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
|
|
/// <summary>Gets the type that the <see cref="T:System.Security.AccessControl.SemaphoreSecurity" /> class uses to represent access rules.</summary>
|
|
/// <returns>A <see cref="T:System.Type" /> object representing the <see cref="T:System.Security.AccessControl.SemaphoreAccessRule" /> class.</returns>
|
|
// Token: 0x1700076D RID: 1901
|
|
// (get) Token: 0x0600175A RID: 5978 RVA: 0x0004E098 File Offset: 0x0004C298
|
|
public override Type AccessRuleType
|
|
{
|
|
get
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
|
|
/// <summary>Gets the type that the <see cref="T:System.Security.AccessControl.SemaphoreSecurity" /> class uses to represent audit rules.</summary>
|
|
/// <returns>A <see cref="T:System.Type" /> object representing the <see cref="T:System.Security.AccessControl.SemaphoreAuditRule" /> class.</returns>
|
|
// Token: 0x1700076E RID: 1902
|
|
// (get) Token: 0x0600175B RID: 5979 RVA: 0x0004E0A0 File Offset: 0x0004C2A0
|
|
public override Type AuditRuleType
|
|
{
|
|
get
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
|
|
/// <summary>Creates a new access control rule for the specified user, with the specified access rights, access control, and flags.</summary>
|
|
/// <returns>A <see cref="T:System.Security.AccessControl.SemaphoreAccessRule" /> object representing the specified rights for the specified user.</returns>
|
|
/// <param name="identityReference">An <see cref="T:System.Security.Principal.IdentityReference" /> that identifies the user or group the rule applies to.</param>
|
|
/// <param name="accessMask">A bitwise combination of <see cref="T:System.Security.AccessControl.SemaphoreRights" /> values specifying the access rights to allow or deny, cast to an integer.</param>
|
|
/// <param name="isInherited">Meaningless for named semaphores, because they have no hierarchy.</param>
|
|
/// <param name="inheritanceFlags">Meaningless for named semaphores, because they have no hierarchy.</param>
|
|
/// <param name="propagationFlags">Meaningless for named semaphores, because they have no hierarchy.</param>
|
|
/// <param name="type">One of the <see cref="T:System.Security.AccessControl.AccessControlType" /> values specifying whether the rights are allowed or denied.</param>
|
|
/// <exception cref="T:System.ArgumentOutOfRangeException">
|
|
/// <paramref name="accessMask" />, <paramref name="inheritanceFlags" />, <paramref name="propagationFlags" />, or <paramref name="type" /> specifies an invalid value.</exception>
|
|
/// <exception cref="T:System.ArgumentNullException">
|
|
/// <paramref name="identityReference" /> is null. -or-<paramref name="accessMask" /> is zero.</exception>
|
|
/// <exception cref="T:System.ArgumentException">
|
|
/// <paramref name="identityReference" /> is neither of type <see cref="T:System.Security.Principal.SecurityIdentifier" />, nor of a type such as <see cref="T:System.Security.Principal.NTAccount" /> that can be converted to type <see cref="T:System.Security.Principal.SecurityIdentifier" />.</exception>
|
|
// Token: 0x0600175C RID: 5980 RVA: 0x0004E0A8 File Offset: 0x0004C2A8
|
|
public override AccessRule AccessRuleFactory(IdentityReference identityReference, int accessMask, bool isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AccessControlType type)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
/// <summary>Searches for a matching rule with which the new rule can be merged. If none are found, adds the new rule.</summary>
|
|
/// <param name="rule">The access control rule to add.</param>
|
|
/// <exception cref="T:System.ArgumentNullException">
|
|
/// <paramref name="rule" /> is null.</exception>
|
|
// Token: 0x0600175D RID: 5981 RVA: 0x0004E0B0 File Offset: 0x0004C2B0
|
|
public void AddAccessRule(SemaphoreAccessRule rule)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
/// <summary>Searches for an audit rule with which the new rule can be merged. If none are found, adds the new rule.</summary>
|
|
/// <param name="rule">The audit rule to add. The user specified by this rule determines the search.</param>
|
|
// Token: 0x0600175E RID: 5982 RVA: 0x0004E0B8 File Offset: 0x0004C2B8
|
|
public void AddAuditRule(SemaphoreAuditRule rule)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
/// <summary>Creates a new audit rule, specifying the user the rule applies to, the access rights to audit, and the outcome that triggers the audit rule.</summary>
|
|
/// <returns>A <see cref="T:System.Security.AccessControl.SemaphoreAuditRule" /> object representing the specified audit rule for the specified user. The return type of the method is the base class, <see cref="T:System.Security.AccessControl.AuditRule" />, but the return value can be cast safely to the derived class.</returns>
|
|
/// <param name="identityReference">An <see cref="T:System.Security.Principal.IdentityReference" /> that identifies the user or group the rule applies to.</param>
|
|
/// <param name="accessMask">A bitwise combination of <see cref="T:System.Security.AccessControl.SemaphoreRights" /> values specifying the access rights to audit, cast to an integer.</param>
|
|
/// <param name="isInherited">Meaningless for named wait handles, because they have no hierarchy.</param>
|
|
/// <param name="inheritanceFlags">Meaningless for named wait handles, because they have no hierarchy.</param>
|
|
/// <param name="propagationFlags">Meaningless for named wait handles, because they have no hierarchy.</param>
|
|
/// <param name="flags">A bitwise combination of <see cref="T:System.Security.AccessControl.AuditFlags" /> values that specify whether to audit successful access, failed access, or both.</param>
|
|
/// <exception cref="T:System.ArgumentOutOfRangeException">
|
|
/// <paramref name="accessMask" />, <paramref name="inheritanceFlags" />, <paramref name="propagationFlags" />, or <paramref name="flags" /> specifies an invalid value.</exception>
|
|
/// <exception cref="T:System.ArgumentNullException">
|
|
/// <paramref name="identityReference" /> is null. -or-<paramref name="accessMask" /> is zero.</exception>
|
|
/// <exception cref="T:System.ArgumentException">
|
|
/// <paramref name="identityReference" /> is neither of type <see cref="T:System.Security.Principal.SecurityIdentifier" />, nor of a type such as <see cref="T:System.Security.Principal.NTAccount" /> that can be converted to type <see cref="T:System.Security.Principal.SecurityIdentifier" />.</exception>
|
|
// Token: 0x0600175F RID: 5983 RVA: 0x0004E0C0 File Offset: 0x0004C2C0
|
|
public override AuditRule AuditRuleFactory(IdentityReference identityReference, int accessMask, bool isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AuditFlags flags)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
/// <summary>Searches for an access control rule with the same user and <see cref="T:System.Security.AccessControl.AccessControlType" /> (allow or deny) as the specified rule, and with compatible inheritance and propagation flags; if such a rule is found, the rights contained in the specified access rule are removed from it.</summary>
|
|
/// <returns>true if a compatible rule is found; otherwise false.</returns>
|
|
/// <param name="rule">A <see cref="T:System.Security.AccessControl.SemaphoreAccessRule" /> that specifies the user and <see cref="T:System.Security.AccessControl.AccessControlType" /> to search for, and a set of inheritance and propagation flags that a matching rule, if found, must be compatible with. Specifies the rights to remove from the compatible rule, if found.</param>
|
|
/// <exception cref="T:System.ArgumentNullException">
|
|
/// <paramref name="rule" /> is null.</exception>
|
|
// Token: 0x06001760 RID: 5984 RVA: 0x0004E0C8 File Offset: 0x0004C2C8
|
|
public bool RemoveAccessRule(SemaphoreAccessRule rule)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
/// <summary>Searches for all access control rules with the same user and <see cref="T:System.Security.AccessControl.AccessControlType" /> (allow or deny) as the specified rule and, if found, removes them.</summary>
|
|
/// <param name="rule">A <see cref="T:System.Security.AccessControl.SemaphoreAccessRule" /> that specifies the user and <see cref="T:System.Security.AccessControl.AccessControlType" /> to search for. Any rights specified by this rule are ignored.</param>
|
|
/// <exception cref="T:System.ArgumentNullException">
|
|
/// <paramref name="rule" /> is null.</exception>
|
|
// Token: 0x06001761 RID: 5985 RVA: 0x0004E0D0 File Offset: 0x0004C2D0
|
|
public void RemoveAccessRuleAll(SemaphoreAccessRule rule)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
/// <summary>Searches for an access control rule that exactly matches the specified rule and, if found, removes it.</summary>
|
|
/// <param name="rule">The <see cref="T:System.Security.AccessControl.SemaphoreAccessRule" /> to remove.</param>
|
|
/// <exception cref="T:System.ArgumentNullException">
|
|
/// <paramref name="rule" /> is null.</exception>
|
|
// Token: 0x06001762 RID: 5986 RVA: 0x0004E0D8 File Offset: 0x0004C2D8
|
|
public void RemoveAccessRuleSpecific(SemaphoreAccessRule rule)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
/// <summary>Searches for an audit control rule with the same user as the specified rule, and with compatible inheritance and propagation flags; if a compatible rule is found, the rights contained in the specified rule are removed from it.</summary>
|
|
/// <returns>true if a compatible rule is found; otherwise, false.</returns>
|
|
/// <param name="rule">A <see cref="T:System.Security.AccessControl.SemaphoreAuditRule" /> that specifies the user to search for, and a set of inheritance and propagation flags that a matching rule, if found, must be compatible with. Specifies the rights to remove from the compatible rule, if found.</param>
|
|
/// <exception cref="T:System.ArgumentNullException">
|
|
/// <paramref name="rule" /> is null.</exception>
|
|
// Token: 0x06001763 RID: 5987 RVA: 0x0004E0E0 File Offset: 0x0004C2E0
|
|
public bool RemoveAuditRule(SemaphoreAuditRule rule)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
/// <summary>Searches for all audit rules with the same user as the specified rule and, if found, removes them.</summary>
|
|
/// <param name="rule">A <see cref="T:System.Security.AccessControl.SemaphoreAuditRule" /> that specifies the user to search for. Any rights specified by this rule are ignored.</param>
|
|
/// <exception cref="T:System.ArgumentNullException">
|
|
/// <paramref name="rule" /> is null.</exception>
|
|
// Token: 0x06001764 RID: 5988 RVA: 0x0004E0E8 File Offset: 0x0004C2E8
|
|
public void RemoveAuditRuleAll(SemaphoreAuditRule rule)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
/// <summary>Searches for an audit rule that exactly matches the specified rule and, if found, removes it.</summary>
|
|
/// <param name="rule">The <see cref="T:System.Security.AccessControl.SemaphoreAuditRule" /> to remove.</param>
|
|
/// <exception cref="T:System.ArgumentNullException">
|
|
/// <paramref name="rule" /> is null.</exception>
|
|
// Token: 0x06001765 RID: 5989 RVA: 0x0004E0F0 File Offset: 0x0004C2F0
|
|
public void RemoveAuditRuleSpecific(SemaphoreAuditRule rule)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
/// <summary>Removes all access control rules with the same user as the specified rule, regardless of <see cref="T:System.Security.AccessControl.AccessControlType" />, and then adds the specified rule.</summary>
|
|
/// <param name="rule">The <see cref="T:System.Security.AccessControl.SemaphoreAccessRule" /> to add. The user specified by this rule determines the rules to remove before this rule is added.</param>
|
|
/// <exception cref="T:System.ArgumentNullException">
|
|
/// <paramref name="rule" /> is null.</exception>
|
|
// Token: 0x06001766 RID: 5990 RVA: 0x0004E0F8 File Offset: 0x0004C2F8
|
|
public void ResetAccessRule(SemaphoreAccessRule rule)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
/// <summary>Removes all access control rules with the same user and <see cref="T:System.Security.AccessControl.AccessControlType" /> (allow or deny) as the specified rule, and then adds the specified rule.</summary>
|
|
/// <param name="rule">The <see cref="T:System.Security.AccessControl.SemaphoreAccessRule" /> to add. The user and <see cref="T:System.Security.AccessControl.AccessControlType" /> of this rule determine the rules to remove before this rule is added.</param>
|
|
/// <exception cref="T:System.ArgumentNullException">
|
|
/// <paramref name="rule" /> is null.</exception>
|
|
// Token: 0x06001767 RID: 5991 RVA: 0x0004E100 File Offset: 0x0004C300
|
|
public void SetAccessRule(SemaphoreAccessRule rule)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
|
|
/// <summary>Removes all audit rules with the same user as the specified rule, regardless of the <see cref="T:System.Security.AccessControl.AuditFlags" /> value, and then adds the specified rule.</summary>
|
|
/// <param name="rule">The <see cref="T:System.Security.AccessControl.SemaphoreAuditRule" /> to add. The user specified by this rule determines the rules to remove before this rule is added.</param>
|
|
/// <exception cref="T:System.ArgumentNullException">
|
|
/// <paramref name="rule" /> is null.</exception>
|
|
// Token: 0x06001768 RID: 5992 RVA: 0x0004E108 File Offset: 0x0004C308
|
|
public void SetAuditRule(SemaphoreAuditRule rule)
|
|
{
|
|
throw new NotImplementedException();
|
|
}
|
|
}
|
|
}
|