AddMandatoryAce 函式會在指定的系統存取控制清單(SACL)中新增SYSTEM_MANDATORY_LABEL_ACE存取控制條目(ACE)。
語法
BOOL AddMandatoryAce(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AceFlags,
[in] DWORD MandatoryPolicy,
[in] PSID pLabelSid
);
參數
[in, out] pAcl
指向SACL。 此功能為此 SACL 末尾加入強制性的 ACE。 ACE以 SYSTEM_MANDATORY_LABEL_ACE 結構的形式存在。
[in] dwAceRevision
SACL的修訂級別。 此值可為以下數值之一。
| 價值觀 | Meaning |
|---|---|
|
SACL 不包含物件專屬的 ACE。 |
|
SACL 包含物件指定的 ACE。 |
[in] AceFlags
一組控制 ACE 繼承的位元旗標。 此函式將這些旗標置於新 ACE ACE_HEADER結構的 AceFlags 成員中。
此參數可由以下數值組合而成。
[in] MandatoryPolicy
對於必須完整性低於包含此 ACE 的 SACL 物件的主體的存取政策。
| 價值觀 | Meaning |
|---|---|
|
一個要求層級低於物件的主體,不能寫入該物件。 |
|
一個必須等級低於物件的負責人無法讀取該物件。 |
|
主體的強制層級低於物件,無法執行該物件。 |
[in] pLabelSid
指向一個 SID 的指標,指定與所附加 SACL 相關物件的強制完整性等級。
返回值
若函式成功,則回傳 TRUE。
如果函式失敗,則會傳回 FALSE。 如需擴充錯誤資訊,請呼叫 GetLastError。 以下是可能的誤差值。
| 傳回碼/值 | Description |
|---|---|
|
新的 ACE 無法放入 pAcl 緩衝區。 |
備註
若要編譯使用此函式的應用程式,請將_WIN32_WINNT定義為 0x0600 或更高版本。 如需詳細資訊,請參閱 使用 Windows 標頭。
需求
| Requirement | 價值觀 |
|---|---|
| 最低支援的用戶端 | Windows Vista [傳統型應用程式 |UWP 應用程式] |
| 支援的最低伺服器 | Windows Server 2008 [傳統型應用程式 |UWP 應用程式] |
| 目標平臺 | 窗戶 |
| Header | securitybaseapi.h(包含 WinBase.h) |
| Library | Advapi32.lib |
| DLL | Advapi32.dll |