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