AddConditionalAce 函式 (winbase.h)
AddConditionalAce 函式會將條件式訪問控制專案 (ACE) 新增至指定的訪問控制清單 (ACL) 。 條件式 ACE 會指定在存取檢查期間評估的邏輯條件。
語法
BOOL AddConditionalAce(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AceFlags,
[in] UCHAR AceType,
[in] DWORD AccessMask,
[in] PSID pSid,
[in] PWCHAR ConditionStr,
[out] DWORD *ReturnLength
);
參數
[in, out] pAcl
ACL 的指標。 此函式會將 ACE 新增至此 ACL。
此參數的值不可以是 NULL。
[in] dwAceRevision
指定要修改之 ACL 的修訂層級。 此值可以是ACL_REVISION或ACL_REVISION_DS。 如果 ACL 包含物件特定的 ACE,請使用ACL_REVISION_DS。
[in] AceFlags
一組控制 ACE 繼承的位旗標。 函式會在新 ACE ACE_HEADER 結構的 AceFlags 成員中設定這些旗標。 此參數可以是下列值的組合。
[in] AceType
ACE 的類型。
這可以是下列其中一個值。
值 | 意義 |
---|---|
|
使用 ACCESS_ALLOWED_CALLBACK_ACE 結構的存取允許回呼 ACE。 |
|
使用 ACCESS_DENIED_CALLBACK_ACE 結構的拒絕存取回呼 ACE。 |
|
使用 SYSTEM_AUDIT_CALLBACK_ACE 結構的系統稽核回呼 ACE。 |
[in] AccessMask
指定要授與指定 SID 之訪問許可權的遮罩。
[in] pSid
SID 的指標,表示要授與存取權的使用者、群組或登入帳戶。
[in] ConditionStr
字串,指定要針對 ACE 評估的條件語句。
[out] ReturnLength
ACL 的大小,以位元組為單位。 如果 pACL 參數指定的緩衝區大小不足,此參數的值就是必要的大小。
傳回值
如果函式成功,則會傳回 TRUE。
如果函式失敗,則會傳回 FALSE。 如需擴充的錯誤資訊,請呼叫 GetLastError。 以下是可能的錯誤值。
傳回碼 | Description |
---|---|
|
新的 ACE 無法放入 pAcl 緩衝區。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winbase.h (包含 Windows.h) |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |