EXPLICIT_ACCESS

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

[New - Windows NT]

EXPLICIT_ACCESS结构指定了指定受托人的访问控制信息。访问控制功能(如SetEntriesInAclGetExplicitEntriesFromAcl)使用此结构来描述访问控制列表(ACL)的访问控制条目(ACE)中的信息。

typedef struct _EXPLICIT_ACCESS {

DWORD grfAccessPermissions;

ACCESS_MODE grfAccessMode;

DWORD grfInheritance;

TRUSTEE Trustee;

} EXPLICIT_ACCESS, *PEXPLICIT_ACCESS;

会员

grfAccessPermissions

一组使用ACCESS_MASK格式的位标志来指定ACE允许,拒绝或审核受托人的访问权限。使用EXPLICIT_ACCESS结构的函数不会转换,解释或验证此掩码中的位。

grfAccessMode

指定ACCESS_MODE枚举中的值。对于自由ACL(DACL),此标志指示ACL是允许还是拒绝指定的访问权限。对于系统ACL(SACL),此标志指示ACL是否生成审核消息,以成功尝试使用指定的访问权限,或尝试失败,或两者兼而有之。修改现有ACL时,可以指定REVOKE_ACCESS标志,以删除指定受信任方的任何现有ACE。

grfInheritance

一组位标志,用于确定其他容器或对象是否可以从ACL附加的主对象继承ACE.该成员的值对应于ACE_HEADER结构的AceFlags成员的继承部分(低位字节)。该参数可以为NO_INHERITANCE,表示ACE不可继承;或者它可以是以下值的组合。

含义
CONTAINER_INHERIT_ACE 
 由主对象包含的其他容器继承ACE。
INHERIT_ONLY_ACE 
 ACE不适用于附加ACL的主对象,但主对象所包含的对象继承ACE。
NO_PROPAGATE_INHERIT_ACE 
 OBJECT_INHERIT_ACE和CONTAINER_INHERIT_ACE标志不会传播到继承的ACE。
OBJECT_INHERIT_ACE 
 主对象包含的非容器对象继承ACE。
SUB_CONTAINERS_ONLY_INHERIT 
 由主对象包含的其他容器继承ACE。该标志对应于CONTAINER_INHERIT_ACE标志。
SUB_OBJECTS_ONLY_INHERIT 
 主对象包含的非容器对象继承ACE。该标志对应于OBJECT_INHERIT_ACE标志。
SUB_CONTAINERS_AND_OBJECTS_INHERIT 
 由主对象包含的容器和非容器对象都将继承ACE。该标志对应于CONTAINER_INHERIT_ACE和OBJECT_INHERIT_ACE标志的组合。

受托人

标识ACE应用于的用户,组或程序(如Windows NT服务)的TRUSTEE结构。

也可以看看

ACCESS_MODE, ACE, ACE_HEADER, ACL, BuildExplicitAccessWithName, BuildSecurityDescriptor, GetExplicitEntriesFromAcl, LookupSecurityDescriptorParts, SetEntriesInAcl, TRUSTEE