BuildExplicitAccessWithNameA 函数 (aclapi.h)

BuildExplicitAccessWithName 函数使用调用方指定的数据初始化EXPLICIT_ACCESS结构。 受信人由名称字符串标识。

语法

void BuildExplicitAccessWithNameA(
  [in, out]      PEXPLICIT_ACCESS_A pExplicitAccess,
  [in, optional] LPSTR              pTrusteeName,
  [in]           DWORD              AccessPermissions,
  [in]           ACCESS_MODE        AccessMode,
  [in]           DWORD              Inheritance
);

参数

[in, out] pExplicitAccess

指向要初始化 的EXPLICIT_ACCESS 结构的指针。 BuildExplicitAccessWithName 函数不分配任何内存。 此参数不能为 NULL

[in, optional] pTrusteeName

指向以 null 结尾的字符串的指针,该字符串包含 TRUSTEE 结构的 ptstrName 成员的受信者的名称。 BuildExplicitAccessWithName 函数按如下所示设置 TRUSTEE 结构的其他成员。

含义
pMultipleTrustee
NULL
MultipleTrusteeOperation
NO_MULTIPLE_TRUSTEE
受信人窗体
TRUSTEE_IS_NAME
受信人类型
TRUSTEE_IS_UNKNOWN

[in] AccessPermissions

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

[in] AccessMode

EXPLICIT_ACCESS 结构的 grfAccessMode 成员指定访问模式。 访问模式指示 ACE) (访问控制项 是否允许、拒绝或审核指定权限。 对于 DACL) (自由访问控制列表 ,此参数可以是 ACCESS_MODE 枚举中的值之一。 对于 SACL) (系统访问控制列表 ,此参数可以是 ACCESS_MODE 值的组合。

[in] Inheritance

指定 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_AND_OBJECTS_INHERIT
主对象包含的容器和非容器对象都继承 ACE。 此标志对应于CONTAINER_INHERIT_ACE和OBJECT_INHERIT_ACE标志的组合。
SUB_CONTAINERS_ONLY_INHERIT
主对象包含的其他容器继承 ACE。 此标志对应于 CONTAINER_INHERIT_ACEINHERIT_ONLY_ACE 标志的组合。
SUB_OBJECTS_ONLY_INHERIT
主对象包含的非容器对象继承 ACE。 此标志对应于 OBJECT_INHERIT_ACEINHERIT_ONLY_ACE 标志的组合。

返回值

备注

注意

aclapi.h 标头将 BuildExplicitAccessWithName 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非特定编码别名与非非特定编码的代码混合使用可能会导致不匹配,从而导致编译或运行时错误。 有关详细信息,请参阅 函数原型的约定

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 aclapi.h
Library Advapi32.lib
DLL Advapi32.dll

另请参阅

Ace

ACL

访问控制概述

基本访问控制函数

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl

SetEntriesInAcl

受托 人