共用方式為


AddMandatoryAce 函式 (securitybaseapi.h)

AddMandatoryAce 函式會將SYSTEM_MANDATORY_LABEL_ACE訪問控制專案 (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 的修訂層級。 此值可以是下列其中一個值。

意義
ACL_REVISION
SACL 不包含特定物件 ACE。
ACL_REVISION_DS
SACL 包含物件指定的 ACE。

[in] AceFlags

一組控制 ACE 繼承的位旗標。 此函式會在新 ACE ACE_HEADER 結構的AceFlags 成員中設定這些旗標。

此參數可以是下列值的組合。

意義
OBJECT_INHERIT_ACE
0x1
ACE 是由非container 對象繼承。
CONTAINER_INHERIT_ACE
0x2
ACE 會由容器對象繼承。
NO_PROPAGATE_INHERIT_ACE
0x4
OBJECT_INHERIT_ACECONTAINER_INHERIT_ACE位不會傳播至繼承的 ACE。
INHERIT_ONLY_ACE
0x8
ACE 不適用於指派 SACL 的物件,但 ACE 可由子對象繼承。
INHERITED_ACE
0x10
ACE 是繼承的。 變更物件樹狀結構安全性的作業可能會修改繼承的 ACE,而不需要變更直接套用至物件的 ACE。

[in] MandatoryPolicy

主體的存取原則,其完整性層級低於包含此 ACE 之 SACL 相關聯的物件。

意義
SYSTEM_MANDATORY_LABEL_NO_WRITE_UP
0x1
具有低於物件之強制層級的主體無法寫入物件。
SYSTEM_MANDATORY_LABEL_NO_READ_UP
0x2
具有低於物件之強制層級的主體無法讀取物件。
SYSTEM_MANDATORY_LABEL_NO_EXECUTE_UP
0x4
強制層級低於 對象的主體無法執行 物件。

[in] pLabelSid

SID 的指標,指定與要附加之 SACL 相關聯之對象的強制完整性層級。

傳回值

如果函式成功,則會傳回 TRUE

如果函式失敗,則會傳回 FALSE。 如需擴充錯誤資訊,請呼叫 GetLastError。 以下是可能的錯誤值。

傳回碼/值 Description
ERROR_ALLOTTED_SPACE_EXCEEDED
0x540
新的 ACE 不適用於 pAcl 緩衝區。

備註

若要編譯使用此函式的應用程式,請將_WIN32_WINNT定義為0x0600或更新版本。 如需詳細資訊,請參閱 使用 Windows 標頭

規格需求

需求
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 securitybaseapi.h (包括 WinBase.h)
程式庫 Advapi32.lib
Dll Advapi32.dll

另請參閱

SYSTEM_MANDATORY_LABEL_ACE