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,61 @@
using System;
using System.Runtime.InteropServices;
using System.Security.Principal;
namespace System.Security.AccessControl
{
/// <summary>Represents a set of access rights allowed or denied for a user or group. This class cannot be inherited.</summary>
// Token: 0x02000275 RID: 629
[ComVisible(false)]
public sealed class SemaphoreAccessRule : AccessRule
{
/// <summary>Initializes a new instance of the <see cref="T:System.Security.AccessControl.SemaphoreAccessRule" /> class, specifying the user or group the rule applies to, the access rights, and whether the specified access rights are allowed or denied.</summary>
/// <param name="identity">The user or group the rule applies to. Must be of type <see cref="T:System.Security.Principal.SecurityIdentifier" /> or a type such as <see cref="T:System.Security.Principal.NTAccount" /> that can be converted to type <see cref="T:System.Security.Principal.SecurityIdentifier" />.</param>
/// <param name="eventRights">A bitwise combination of <see cref="T:System.Security.AccessControl.SemaphoreRights" /> values specifying the rights allowed or denied.</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="eventRights" /> specifies an invalid value.-or-<paramref name="type" /> specifies an invalid value.</exception>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="identity" /> is null. -or-<paramref name="eventRights" /> is zero.</exception>
/// <exception cref="T:System.ArgumentException">
/// <paramref name="identity" /> 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: 0x06001752 RID: 5970 RVA: 0x0004E020 File Offset: 0x0004C220
public SemaphoreAccessRule(IdentityReference identity, SemaphoreRights semaphoreRights, AccessControlType type)
: base(identity, 0, false, InheritanceFlags.None, PropagationFlags.None, type)
{
this.semaphoreRights = semaphoreRights;
}
/// <summary>Initializes a new instance of the <see cref="T:System.Security.AccessControl.SemaphoreAccessRule" /> class, specifying the name of the user or group the rule applies to, the access rights, and whether the specified access rights are allowed or denied.</summary>
/// <param name="identity">The name of the user or group the rule applies to.</param>
/// <param name="eventRights">A bitwise combination of <see cref="T:System.Security.AccessControl.SemaphoreRights" /> values specifying the rights allowed or denied.</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="eventRights" /> specifies an invalid value.-or-<paramref name="type" /> specifies an invalid value.</exception>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="eventRights" /> is zero.</exception>
/// <exception cref="T:System.ArgumentException">
/// <paramref name="identity" /> is null.-or-<paramref name="identity" /> is a zero-length string.-or-<paramref name="identity" /> is longer than 512 characters.</exception>
// Token: 0x06001753 RID: 5971 RVA: 0x0004E038 File Offset: 0x0004C238
public SemaphoreAccessRule(string identity, SemaphoreRights semaphoreRights, AccessControlType type)
: base(null, 0, false, InheritanceFlags.None, PropagationFlags.None, type)
{
this.semaphoreRights = semaphoreRights;
}
/// <summary>Gets the rights allowed or denied by the access rule.</summary>
/// <returns>A bitwise combination of <see cref="T:System.Security.AccessControl.SemaphoreRights" /> values indicating the rights allowed or denied by the access rule.</returns>
// Token: 0x1700076A RID: 1898
// (get) Token: 0x06001754 RID: 5972 RVA: 0x0004E050 File Offset: 0x0004C250
public SemaphoreRights SemaphoreRights
{
get
{
return this.semaphoreRights;
}
}
// Token: 0x0400129D RID: 4765
private SemaphoreRights semaphoreRights;
}
}
@@ -0,0 +1,44 @@
using System;
using System.Runtime.InteropServices;
using System.Security.Principal;
namespace System.Security.AccessControl
{
/// <summary>Represents a set of access rights to be audited for a user or group. This class cannot be inherited.</summary>
// Token: 0x02000276 RID: 630
[ComVisible(false)]
public sealed class SemaphoreAuditRule : AuditRule
{
/// <summary>Initializes a new instance of the <see cref="T:System.Security.AccessControl.SemaphoreAuditRule" /> class, specifying the user or group to audit, the rights to audit, and whether to audit success, failure, or both.</summary>
/// <param name="identity">The user or group the rule applies to. Must be of type <see cref="T:System.Security.Principal.SecurityIdentifier" /> or a type such as <see cref="T:System.Security.Principal.NTAccount" /> that can be converted to type <see cref="T:System.Security.Principal.SecurityIdentifier" />.</param>
/// <param name="eventRights">A bitwise combination of <see cref="T:System.Security.AccessControl.SemaphoreRights" /> values specifying the kinds of access to audit.</param>
/// <param name="flags">A bitwise combination of <see cref="T:System.Security.AccessControl.AuditFlags" /> values specifying whether to audit success, failure, or both.</param>
/// <exception cref="T:System.ArgumentOutOfRangeException">
/// <paramref name="eventRights" /> specifies an invalid value.-or-<paramref name="flags" /> specifies an invalid value.</exception>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="identity" /> is null. -or-<paramref name="eventRights" /> is zero.</exception>
/// <exception cref="T:System.ArgumentException">
/// <paramref name="identity" /> 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: 0x06001755 RID: 5973 RVA: 0x0004E058 File Offset: 0x0004C258
public SemaphoreAuditRule(IdentityReference identity, SemaphoreRights semaphoreRights, AuditFlags flags)
: base(identity, 0, false, InheritanceFlags.None, PropagationFlags.None, flags)
{
this.semaphoreRights = semaphoreRights;
}
/// <summary>Gets the access rights affected by the audit rule.</summary>
/// <returns>A bitwise combination of <see cref="T:System.Security.AccessControl.SemaphoreRights" /> values that indicates the rights affected by the audit rule.</returns>
// Token: 0x1700076B RID: 1899
// (get) Token: 0x06001756 RID: 5974 RVA: 0x0004E070 File Offset: 0x0004C270
public SemaphoreRights SemaphoreRights
{
get
{
return this.semaphoreRights;
}
}
// Token: 0x0400129E RID: 4766
private SemaphoreRights semaphoreRights;
}
}
@@ -0,0 +1,34 @@
using System;
using System.Runtime.InteropServices;
namespace System.Security.AccessControl
{
/// <summary>Specifies the access control rights that can be applied to named system semaphore objects.</summary>
// Token: 0x02000277 RID: 631
[ComVisible(false)]
[Flags]
public enum SemaphoreRights
{
/// <summary>The right to release a named semaphore.</summary>
// Token: 0x040012A0 RID: 4768
Modify = 2,
/// <summary>The right to delete a named semaphore.</summary>
// Token: 0x040012A1 RID: 4769
Delete = 65536,
/// <summary>The right to open and copy the access rules and audit rules for a named semaphore.</summary>
// Token: 0x040012A2 RID: 4770
ReadPermissions = 131072,
/// <summary>The right to change the security and audit rules associated with a named semaphore.</summary>
// Token: 0x040012A3 RID: 4771
ChangePermissions = 262144,
/// <summary>The right to change the owner of a named semaphore.</summary>
// Token: 0x040012A4 RID: 4772
TakeOwnership = 524288,
/// <summary>The right to wait on a named semaphore.</summary>
// Token: 0x040012A5 RID: 4773
Synchronize = 1048576,
/// <summary>The right to exert full control over a named semaphore, and to modify its access rules and audit rules.</summary>
// Token: 0x040012A6 RID: 4774
FullControl = 2031619
}
}
@@ -0,0 +1,216 @@
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();
}
}
}