SECURITY_DESCRIPTOR_CONTROL
The SECURITY_DESCRIPTOR_CONTROL
structure contains a set of bit flags that qualify the meaning of a security
descriptor or its individual members.
typedef WORD SECURITY_DESCRIPTOR_CONTROL;
Each security
descriptor has an associated SECURITY_DESCRIPTOR_CONTROL structure.
Applications can use the Win32 API functions to set and retrieve a security
descriptor s SECURITY_DESCRIPTOR_CONTROL values. These
functions are listed in the See Also section.
The following
constants are defined for setting and retrieving SECURITY_DESCRIPTOR_CONTROL
bit flags:
Value |
Meaning |
SE_OWNER_DEFAULTED |
Instead of
the original provider of the security descriptor, a default mechanism
provided the security descriptor s
owner security identifier (SID). This can affect the treatment of the SID
with respect to inheritance of an owner. This flag is ignored if the owner
member is NULL. The SetSecurityDescriptorOwner |
SE_GROUP_DEFAULTED |
Instead of
the the original provider of the security descriptor, a default mechanism
provided the security descriptor s
group SID. This can affect the treatment of the SID with respect to
inheritance of a primary group. This flag is ignored if the group member is
NULL. The SetSecurityDescriptorGroup |
SE_DACL_PRESENT |
The
security descriptor contains a discretionary access-control list (ACL). If
this flag is set and the discretionary ACL is NULL, an empty ACL is being
explicitly specified. An empty ACL has a size but no access-control entries
(ACEs). A NULL ACL has no pointer to an ACL. This flag allows functions to
determine whether a security descriptor points to a NULL ACL or no ACL at
all. The SetSecurityDescriptorDacl |
SE_DACL_DEFAULTED |
Instead of
the the original provider of the security descriptor, a default mechanism
provided the discretionary ACL. This can affect the treatment of the ACL with
respect to inheritance of an ACL. If the SE_DACL_PRESENT flag is not set,
this flag is ignored. The SetSecurityDescriptorDacl function sets this
flag. |
SE_SACL_PRESENT |
The
security descriptor contains a system ACL. If this flag is set and the Sacl
member is NULL, an empty ACL is being explicitly specified. This flag allows
functions to determine whether a security descriptor points to a NULL ACL or
no ACL at all. The SetSecurityDescriptorSaclY4VFOY function sets this flag. |
SE_SACL_DEFAULTED |
Instead of
the the original provider of the security descriptor, a default mechanism
provided the ACL. This can affect the treatment of the ACL with respect to
inheritance of an ACL. If the SE_SACL_PRESENT flag is not set, this flag is
ignored. The SetSecurityDescriptorSacl |
SE_SELF_RELATIVE |
The
security descriptor is in self-relative form and all members of the security
descriptor are contiguous in memory. All pointer members are expressed as
offsets from the beginning of the security descriptor. This form is useful
for treating security descriptors as opaque structures for transmission in a
communications protocol or for storage on secondary media. |
See Also