SetEntriesInAclA 函式 (aclapi.h)
SetEntriesInAcl 函式會藉由將新的訪問控制或稽核控制資訊合併至現有的 ACL 結構,來建立新的 訪問控制清單(ACL)。
語法
DWORD SetEntriesInAclA(
[in] ULONG cCountOfExplicitEntries,
[in, optional] PEXPLICIT_ACCESS_A pListOfExplicitEntries,
[in, optional] PACL OldAcl,
[out] PACL *NewAcl
);
參數
[in] cCountOfExplicitEntries
pListOfExplicitEntries 陣列中的 EXPLICIT_ACCESS 結構數目。
[in, optional] pListOfExplicitEntries
EXPLICIT_ACCESS 結構的陣列指標,描述要合併至現有 ACL 的存取控制資訊。
[in, optional] OldAcl
現有 ACL 的指標。 此參數可以 NULL,在此情況下,函式會根據 EXPLICIT_ACCESS 專案建立新的 ACL。
[out] NewAcl
接收新 ACL 指標之變數的指標。 如果函式成功,您必須呼叫 LocalFree 函式,以釋放傳回的緩衝區。
傳回值
如果函式成功,函式會傳回ERROR_SUCCESS。
如果函式失敗,它會傳回 WinError.h 中定義的非零錯誤碼。
言論
EXPLICIT_ACCESS 結構陣列中的每個項目都會指定指定信任項的訪問控制或稽核控制資訊。 信任者可以是使用者、群組或其他 安全性標識碼 (SID) 值,例如 登入標識碼 或登入類型(例如 Windows 服務或批次作業)。 您可以使用名稱或 SID 來識別信任者。
您可以使用
對於 DACL,grfAccessModeEXPLICIT_ACCESS 結構的成員會指定是否允許、拒絕或撤銷信任者的訪問許可權。 此成員可以指定下列其中一個值:
- GRANT_ACCESS
- SET_ACCESS
- DENY_ACCESS
- REVOKE_ACCESS
SetEntriesInAcl 函式會將任何新的拒絕存取 ACE 放在新 ACL ACL列表的開頭。 此函式會將任何新的存取允許 ACE 放在任何現有存取允許的 ACE 之前。
針對 SACL,grfAccessModeEXPLICIT_ACCESS 結構的成員可以指定下列值:
- REVOKE_ACCESS
- SET_AUDIT_FAILURE
- SET_AUDIT_SUCCESS
SetEntriesInAcl 函式會將任何新的系統稽核 ACE 放在新 ACL ACL 清單的開頭。
例子
如需使用此函式的範例,請參閱 修改物件 或 建立新物件的安全性描述元 或 取得物件擁有權。
注意
aclapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetEntriesInAcl 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
支援的最低伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平臺 | 窗戶 |
標頭 | aclapi.h |
連結庫 | Advapi32.lib |
DLL | Advapi32.dll |