SECURITY_DESCRIPTOR_CONTROL

【勇芳软件工作室】汉化HomePreviousNext

SECURITY_DESCRIPTOR_CONTROL结构包含一组位标志,用于限定安全描述符或其各个成员的含义。

typedef WORD SECURITY_DESCRIPTOR_CONTROL;

每个安全描述符具有关联的SECURITY_DESCRIPTOR_CONTROL结构。应用程序可以使用Win32 API函数来设置和检索安全描述符的SECURITY_DESCRIPTOR_CONTROL值。这些功能列在“参见”部分。

定义以下常量用于设置和检索SECURITY_DESCRIPTOR_CONTROL位标志:

含义
SE_OWNER_DEFAULTED代替安全描述符的原始提供者,默认机制提供了安全描述符的所有者安全标识符(SID)。这可能会影响SID对于所有者的继承的处理。如果所有者成员为NULL,则忽略此标志。SetSecurityDescriptorOwner功能设置此标志。
SE_GROUP_DEFAULTED代替安全描述符的原始提供者,默认机制提供了安全描述符的组SID。这可能会影响SID对主组的继承的处理。如果组成员为NULL,则忽略此标志。SetSecurityDescriptorGroup功能设置此标志。
SE_DACL_PRESENT安全描述符包含自由访问控制列表(ACL)。如果此标志已设置且自由ACL为NULL,则会显式指定空的ACL。空的ACL具有大小但没有访问控制条目(ACE)。NULL ACL没有指向ACL的指针。该标志允许功能确定安全描述符是否指向NULL ACL或根本没有ACL。SetSecurityDescriptorDacl功能设置此标志。
SE_DACL_DEFAULTED代替安全描述符的原始提供者,默认机制提供了自由ACL。这可能会影响ACL对ACL的继承的处理。如果未设置SE_DACL_PRESENT标志,则此标志将被忽略。SetSecurityDescriptorDacl功能设置此标志。
SE_SACL_PRESENT安全描述符包含系统ACL。如果此标志已设置且Sacl成员为NULL,则会显式指定空的ACL。该标志允许功能确定安全描述符是否指向NULL ACL或根本没有ACL。SetSecurityDescriptorSacl功能设置此标志。
SE_SACL_DEFAULTED除了安全描述符的原始提供者之外,默认机制提供了ACL。这可能会影响ACL对ACL的继承的处理。如果SE_SACL_PRESENT标志未设置,则此标志将被忽略。SetSecurityDescriptorSacl功能设置此标志。
SE_SELF_RELATIVE安全描述符是自相关形式,安全描述符的所有成员在内存中是连续的。所有指针成员表示为从安全描述符开头的偏移量。这种形式对于将安全描述符作为不透明结构处理,在通信协议中传输或者在二级媒体上进行存储是有用的。

也可以看看

GetSecurityDescriptorControl, GetSecurityDescriptorDacl, GetSecurityDescriptorGroup, GetSecurityDescriptorOwner, GetSecurityDescriptorSacl, SetSecurityDescriptorDacl, SetSecurityDescriptorGroup, SetSecurityDescriptorOwner, SetSecurityDescriptorSacl