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,226 @@
using System;
using System.Security.Principal;
namespace System.Security.AccessControl
{
/// <summary>Represents the Windows access control security for a named mutex. This class cannot be inherited. </summary>
// Token: 0x020004CE RID: 1230
public sealed class MutexSecurity : NativeObjectSecurity
{
/// <summary>Initializes a new instance of the <see cref="T:System.Security.AccessControl.MutexSecurity" /> class with default values.</summary>
/// <exception cref="T:System.NotSupportedException">This class is not supported on Windows 98 or Windows Millennium Edition.</exception>
// Token: 0x06002D9C RID: 11676 RVA: 0x00093CB0 File Offset: 0x00091EB0
public MutexSecurity()
{
}
/// <summary>Initializes a new instance of the <see cref="T:System.Security.AccessControl.MutexSecurity" /> class with the specified sections of the access control security rules from the system mutex with the specified name.</summary>
/// <param name="name">The name of the system mutex 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.IO.FileNotFoundException">There is no system object with the specified name.</exception>
/// <exception cref="T:System.NotSupportedException">This class is not supported on Windows 98 or Windows Millennium Edition.</exception>
// Token: 0x06002D9D RID: 11677 RVA: 0x00093CB8 File Offset: 0x00091EB8
public MutexSecurity(string name, AccessControlSections includeSections)
{
}
/// <summary>Gets the enumeration that the <see cref="T:System.Security.AccessControl.MutexSecurity" /> class uses to represent access rights.</summary>
/// <returns>A <see cref="T:System.Type" /> object representing the <see cref="T:System.Security.AccessControl.MutexRights" /> enumeration.</returns>
// Token: 0x170008FA RID: 2298
// (get) Token: 0x06002D9E RID: 11678 RVA: 0x00093CC0 File Offset: 0x00091EC0
public override Type AccessRightType
{
get
{
return typeof(MutexRights);
}
}
/// <summary>Gets the type that the <see cref="T:System.Security.AccessControl.MutexSecurity" /> class uses to represent access rules.</summary>
/// <returns>A <see cref="T:System.Type" /> object representing the <see cref="T:System.Security.AccessControl.MutexAccessRule" /> class.</returns>
// Token: 0x170008FB RID: 2299
// (get) Token: 0x06002D9F RID: 11679 RVA: 0x00093CCC File Offset: 0x00091ECC
public override Type AccessRuleType
{
get
{
return typeof(MutexAccessRule);
}
}
/// <summary>Gets the type that the <see cref="T:System.Security.AccessControl.MutexSecurity" /> class uses to represent audit rules.</summary>
/// <returns>A <see cref="T:System.Type" /> object representing the <see cref="T:System.Security.AccessControl.MutexAuditRule" /> class.</returns>
// Token: 0x170008FC RID: 2300
// (get) Token: 0x06002DA0 RID: 11680 RVA: 0x00093CD8 File Offset: 0x00091ED8
public override Type AuditRuleType
{
get
{
return typeof(MutexAuditRule);
}
}
/// <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.MutexAccessRule" /> 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.MutexRights" /> values specifying the access rights to allow or deny, cast to an integer.</param>
/// <param name="isInherited">Meaningless for named mutexes, because they have no hierarchy.</param>
/// <param name="inheritanceFlags">Meaningless for named mutexes, because they have no hierarchy.</param>
/// <param name="propagationFlags">Meaningless for named mutexes, 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: 0x06002DA1 RID: 11681 RVA: 0x00093CE4 File Offset: 0x00091EE4
public override AccessRule AccessRuleFactory(IdentityReference identityReference, int accessMask, bool isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AccessControlType type)
{
return new MutexAccessRule(identityReference, (MutexRights)accessMask, type);
}
/// <summary>Searches for a matching access control 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>
/// <exception cref="T:System.Security.Principal.IdentityNotMappedException">
/// <paramref name="rule " />cannot be mapped to a known identity.</exception>
// Token: 0x06002DA2 RID: 11682 RVA: 0x00093CF0 File Offset: 0x00091EF0
[MonoTODO]
public void AddAccessRule(MutexAccessRule rule)
{
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.MutexAccessRule" /> 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: 0x06002DA3 RID: 11683 RVA: 0x00093CF8 File Offset: 0x00091EF8
[MonoTODO]
public bool RemoveAccessRule(MutexAccessRule 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.MutexAccessRule" /> 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: 0x06002DA4 RID: 11684 RVA: 0x00093D00 File Offset: 0x00091F00
[MonoTODO]
public void RemoveAccessRuleAll(MutexAccessRule 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.MutexAccessRule" /> to remove.</param>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="rule" /> is null.</exception>
// Token: 0x06002DA5 RID: 11685 RVA: 0x00093D08 File Offset: 0x00091F08
[MonoTODO]
public void RemoveAccessRuleSpecific(MutexAccessRule 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.MutexAccessRule" /> 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: 0x06002DA6 RID: 11686 RVA: 0x00093D10 File Offset: 0x00091F10
[MonoTODO]
public void ResetAccessRule(MutexAccessRule 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.MutexAccessRule" /> 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: 0x06002DA7 RID: 11687 RVA: 0x00093D18 File Offset: 0x00091F18
[MonoTODO]
public void SetAccessRule(MutexAccessRule 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.MutexAuditRule" /> 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.MutexRights" /> 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: 0x06002DA8 RID: 11688 RVA: 0x00093D20 File Offset: 0x00091F20
public override AuditRule AuditRuleFactory(IdentityReference identityReference, int accessMask, bool isInherited, InheritanceFlags inheritanceFlags, PropagationFlags propagationFlags, AuditFlags flags)
{
return new MutexAuditRule(identityReference, (MutexRights)accessMask, flags);
}
/// <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: 0x06002DA9 RID: 11689 RVA: 0x00093D2C File Offset: 0x00091F2C
[MonoTODO]
public void AddAuditRule(MutexAuditRule 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.MutexAuditRule" /> 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: 0x06002DAA RID: 11690 RVA: 0x00093D34 File Offset: 0x00091F34
[MonoTODO]
public bool RemoveAuditRule(MutexAuditRule 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.MutexAuditRule" /> 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: 0x06002DAB RID: 11691 RVA: 0x00093D3C File Offset: 0x00091F3C
[MonoTODO]
public void RemoveAuditRuleAll(MutexAuditRule 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.MutexAuditRule" /> to be removed.</param>
/// <exception cref="T:System.ArgumentNullException">
/// <paramref name="rule" /> is null.</exception>
// Token: 0x06002DAC RID: 11692 RVA: 0x00093D44 File Offset: 0x00091F44
[MonoTODO]
public void RemoveAuditRuleSpecific(MutexAuditRule 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.MutexAuditRule" /> 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: 0x06002DAD RID: 11693 RVA: 0x00093D4C File Offset: 0x00091F4C
[MonoTODO]
public void SetAuditRule(MutexAuditRule rule)
{
throw new NotImplementedException();
}
}
}