AddAccessDeniedAce 函式 (securitybaseapi.h)
AddAccessDeniedAce 函式會將拒絕存取的訪問控制專案 (ACE) 新增至訪問控制清單, (ACL) 。 (SID) ,拒絕存取指定的 安全標識碼 。
若要控制子物件是否可以繼承新的 ACE,請使用 AddAccessDeniedAceEx 函 式。
語法
BOOL AddAccessDeniedAce(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AccessMask,
[in] PSID pSid
);
參數
[in, out] pAcl
ACL 的指標。 此函式會將拒絕存取的 ACE 新增至此 ACL 的結尾。 ACE 的格式為 ACCESS_DENIED_ACE 結構。
[in] dwAceRevision
指定要修改之 ACL 的修訂層級。
此值可以是ACL_REVISION或ACL_REVISION_DS。 如果 ACL 包含物件特定的 ACE,請使用ACL_REVISION_DS。
[in] AccessMask
指定拒絕指定 SID 之訪問許可權的遮罩。
[in] pSid
SID 結構的指標,表示拒絕存取的使用者、群組或登入帳戶。
傳回值
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。 以下是可能的錯誤值。
傳回碼 | Description |
---|---|
|
新的 ACE 不符合 ACL。 需要較大的 ACL 緩衝區。 |
|
指定的 ACL 格式不正確。 |
|
指定的 SID 在結構上無效。 |
|
指定的修訂未知,或與 ACL 的修訂不相容。 |
|
已成功新增 ACE。 |
備註
AddAccessAllowedAce 和 AddAccessDeniedAce 函式會將新的 ACE 新增至 ACL 清單的結尾。 這些函式不會以適當的標準順序自動放置新的 ACE。 呼叫端必須負責確保 ACL 依標準順序,方法是在適當的順序中新增 ACE。
AddAccessDeniedAce 函式放置於 ACE 中的ACE_HEADER結構會指定類型和大小,但不提供 ACE 旗標。
AddAccessDeniedAce 新增的 ACE 無法繼承。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2003 [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | securitybaseapi.h (包含 Windows.h) |
程式庫 | Advapi32.lib |
Dll | Advapi32.dll |