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-terminated 字符串的指针,该字符串包含 受托方 结构 成员的受托 方的名称。 BuildExplicitAccessWithName 函数设置 TRUSTEE 结构的其他成员,如下所示。

价值 意义
pMultipleTrustee
NULL
MultipleTrusteeOperation
NO_MULTIPLE_TRUSTEE
受托人Form
TRUSTEE_IS_NAME
TrusteeType
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 [仅限桌面应用]
目标平台 窗户
标头 aclapi.h
Advapi32.lib
DLL Advapi32.dll

另请参阅

ACE

ACL

访问控制概述

基本访问控制函数

EXPLICIT_ACCESS

GetExplicitEntriesFromAcl

SetEntriesInAcl

受托人