[New - Windows NT]
BuildExplicitAccessWithName函数使用调用者指定的数据初始化EXPLICIT_ACCESS结构。受托人由名称字符串标识。
VOID BuildExplicitAccessWithName(
PEXPLICIT_ACCESS 【pExplicitAccess】, | //指向要初始化的结构的指针 |
LPTSTR 【pTrusteeName】, | //将托管人的名称放入结构中 |
DWORD 【AccessPermissions】, | //访问掩码放在结构中 |
ACCESS_MODE 【AccessMode】, | //访问模式放在结构中 |
DWORD 【遗产】 | //继承类型放在结构中 |
); |
参数
【pExplicitAccess】
指向EXPLICIT_ACCESS结构进行初始化。BuildExplicitAccessWithName不分配任何内存。如果此参数为NULL,则该函数不执行任何操作。
【pTrusteeName】
指向包含TRUSTEE TRUSTEE结构ptstrNameaf成员的受托人名称的以null结尾的字符串。BuildExplicitAccessWithName功能设置TRUSTEE结构的其他成员如下:
会员 | 值 |
pMultipleTrustee | NULL |
MultipleTrusteeOperation | NO_MULTIPLE_TRUSTEE |
TrusteeForm | TRUSTEE_IS_NAME |
TrusteeType | TRUSTEE_IS_UNKNOWN |
【AccessPermissions】
为EXPLICIT_ACCESS结构的grfAccessPermissions成员指定访问掩码。掩码是一组位标志,使用ACCESS_MASK格式来指定ACE允许,拒绝或审核受托人的访问权限。使用EXPLICIT_ACCESS结构的函数不会转换,解释或验证此掩码中的位。
【AccessMode】
指定grfAccessMode EXPLICIT_ACCESS结构的成员的访问模式。访问模式指示ACE是否允许,拒绝或审核指定的权限。此参数包含ACCESS_MODE枚举中的值。
【遗产】
指定EXPLICIT_ACCESS结构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, ACL, EXPLICIT_ACCESS, GetExplicitEntriesFromAcl, SetEntriesInAcl, TRUSTEE