AddAuditAccessAceEx 函式 (securitybaseapi.h)
AddAuditAccessAceEx 函式會將系統稽核訪問控制專案 (ACE) 新增至系統存取控制清單結尾, (SACL) 。
語法
BOOL AddAuditAccessAceEx(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AceFlags,
[in] DWORD dwAccessMask,
[in] PSID pSid,
[in] BOOL bAuditSuccess,
[in] BOOL bAuditFailure
);
參數
[in, out] pAcl
SACL 的指標。 AddAuditAccessAceEx 函式會將系統稽核 ACE 新增至此 SACL。 ACE 的格式為 SYSTEM_AUDIT_ACE 結構。
[in] dwAceRevision
指定要修改之 SACL 的修訂層級。 此值可以是ACL_REVISION或ACL_REVISION_DS。 如果 SACL 包含物件特定的 ACE,請使用ACL_REVISION_DS。
[in] AceFlags
一組位旗標,可控制ACE繼承和存取嘗試稽核的類型。 函式會在新 ACE ACE_HEADER 結構的 AceFlags 成員中設定這些旗標。 此參數可以是下列值的組合。
值 | 意義 |
---|---|
|
ACE 會由容器對象繼承。 |
|
如果您為 bAuditFailure 參數設定此旗標或指定 TRUE,則嘗試使用指定的訪問許可權會導致系統在安全性事件記錄檔中產生稽核記錄。 |
|
ACE 不適用於指派 ACL) (訪問控制清單 的物件,但可由子物件繼承。 |
|
表示繼承的 ACE。 此旗標允許變更物件樹狀結構上安全性的作業,以修改繼承的 ACE,但不會變更直接套用至物件的 ACE。 |
|
OBJECT_INHERIT_ACE和CONTAINER_INHERIT_ACE位不會傳播至繼承的ACE。 |
|
ACE 是由非容器對象繼承。 |
|
如果您設定此旗標或為 bAuditSuccess 參數指定 TRUE,成功使用指定的訪問許可權會導致系統在安全性事件記錄檔中產生稽核記錄。 |
[in] dwAccessMask
一組位旗標,使用 ACCESS_MASK 格式來指定新 ACE 針對指定 的安全性識別碼 稽核的訪問許可權, (SID) 。
[in] pSid
SID 的指標,識別新 ACE 稽核存取的使用者、群組或 登入會話 。
[in] bAuditSuccess
指定是否成功使用指定的訪問許可權,導致系統在安全性事件記錄檔中產生稽核記錄。 如果此旗標為 TRUE ,或 AceFlags 參數指定SUCCESSFUL_ACCESS_ACE_FLAG旗標,則系統會記錄成功的存取嘗試;否則,則不會。
[in] bAuditFailure
指定是否嘗試使用指定的訪問許可權失敗,導致系統在安全性事件記錄檔中產生稽核記錄。 如果此旗標為 TRUE ,或 AceFlags 參數指定FAILED_ACCESS_ACE_FLAG旗標,則系統會記錄失敗的存取嘗試;否則,則不會。
傳回值
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。 以下是可能的錯誤值。
傳回碼 | Description |
---|---|
|
新的 ACE 不符合 ACL。 需要較大的 ACL 緩衝區。 |
|
指定的 ACL 格式不正確。 |
|
AceFlags 參數無效。 |
|
指定的 SID 在結構上無效。 |
|
指定的修訂未知,或與 ACL 的修訂不相容。 |
|
已成功新增 ACE。 |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | securitybaseapi.h (包含 Windows.h) |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |