AddMandatoryAce 函数 (securitybaseapi.h)
AddMandatoryAce 函数将 ACE () SYSTEM_MANDATORY_LABEL_ACE访问控制项添加到指定的系统访问控制列表 (SACL) 。
语法
BOOL AddMandatoryAce(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AceFlags,
[in] DWORD MandatoryPolicy,
[in] PSID pLabelSid
);
参数
[in, out] pAcl
指向 SACL 的指针。 此函数将强制 ACE 添加到此 SACL 的末尾。 ACE 采用 SYSTEM_MANDATORY_LABEL_ACE 结构的形式。
[in] dwAceRevision
正在修改的 SACL 的修订级别。 此值可以是以下值之一。
值 | 含义 |
---|---|
|
SACL 不包含特定于对象的 ACE。 |
|
SACL 包含对象指定的 ACE。 |
[in] AceFlags
一组控制 ACE 继承的位标志。 此函数在新 ACE 的 ACE_HEADER 结构的 AceFlags 成员中设置这些标志。
此参数可以是以下值的组合。
[in] MandatoryPolicy
强制完整性级别低于与包含此 ACE 的 SACL 关联的对象的主体的访问策略。
值 | 含义 |
---|---|
|
强制级别低于 对象的主体无法写入对象。 |
|
强制级别低于 对象的主体无法读取对象。 |
|
强制级别低于 对象的主体无法执行该对象。 |
[in] pLabelSid
指向 SID 的指针,该指针指定与追加的 SACL 关联的对象的必需完整性级别。
返回值
如果函数成功,则返回 TRUE。
如果函数失败,则返回 FALSE。 有关扩展的错误信息,请调用 GetLastError。 下面是可能的错误值。
返回代码/值 | 说明 |
---|---|
|
新的 ACE 不适合 pAcl 缓冲区。 |
注解
若要编译使用此函数的应用程序,请将_WIN32_WINNT定义为 0x0600 或更高版本。 有关详细信息,请参阅 使用 Windows 标头。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2008 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | securitybaseapi.h (包括 WinBase.h) |
Library | Advapi32.lib |
DLL | Advapi32.dll |