Vanara/PInvoke/Shared/WinNT/SECURITY_INFORMATION.cs

73 lines
2.6 KiB
C#

using System;
namespace Vanara.PInvoke
{
/// <summary>
/// The SECURITY_INFORMATION data type identifies the object-related security information being set or queried. This security information includes:
/// <list type="bullet">
/// <item>
/// <term>The owner of an object</term>
/// </item>
/// <item>
/// <term>The primary group of an object</term>
/// </item>
/// <item>
/// <term>The discretionary access control list (DACL) of an object</term>
/// </item>
/// <item>
/// <term>The system access control list (SACL) of an object</term>
/// </item>
/// </list>
/// </summary>
[PInvokeData("winnt.h")]
[Flags]
public enum SECURITY_INFORMATION : uint
{
/// <summary>The owner identifier of the object is being referenced.</summary>
OWNER_SECURITY_INFORMATION = 0x00000001,
/// <summary>The primary group identifier of the object is being referenced.</summary>
GROUP_SECURITY_INFORMATION = 0x00000002,
/// <summary>The DACL of the object is being referenced.</summary>
DACL_SECURITY_INFORMATION = 0x00000004,
/// <summary>The SACL of the object is being referenced.</summary>
SACL_SECURITY_INFORMATION = 0x00000008,
/// <summary>The mandatory integrity label is being referenced. The mandatory integrity label is an ACE in the SACL of the object.</summary>
LABEL_SECURITY_INFORMATION = 0x00000010,
/// <summary>
/// The resource properties of the object being referenced. The resource properties are stored in SYSTEM_RESOURCE_ATTRIBUTE_ACE types
/// in the SACL of the security descriptor.
/// </summary>
ATTRIBUTE_SECURITY_INFORMATION = 0x00000020,
/// <summary>
/// The Central Access Policy (CAP) identifier applicable on the object that is being referenced. Each CAP identifier is stored in a
/// SYSTEM_SCOPED_POLICY_ID_ACE type in the SACL of the SD.
/// </summary>
SCOPE_SECURITY_INFORMATION = 0x00000040,
/// <summary>Reserved.</summary>
PROCESS_TRUST_LABEL_SECURITY_INFORMATION = 0x00000080,
/// <summary>
/// All parts of the security descriptor. This is useful for backup and restore software that needs to preserve the entire security descriptor.
/// </summary>
BACKUP_SECURITY_INFORMATION = 0x00010000,
/// <summary>The DACL cannot inherit access control entries (ACEs).</summary>
PROTECTED_DACL_SECURITY_INFORMATION = 0x80000000,
/// <summary>The SACL cannot inherit ACEs.</summary>
PROTECTED_SACL_SECURITY_INFORMATION = 0x40000000,
/// <summary>The DACL inherits ACEs from the parent object.</summary>
UNPROTECTED_DACL_SECURITY_INFORMATION = 0x20000000,
/// <summary>The SACL inherits ACEs from the parent object.</summary>
UNPROTECTED_SACL_SECURITY_INFORMATION = 0x10000000
}
}