[New - Windows NT]
EXPLICIT_ACCESS结构指定了指定受托人的访问控制信息。访问控制功能(如SetEntriesInAcl和GetExplicitEntriesFromAcl)使用此结构来描述访问控制列表(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