RtlAddAccessAllowedAce 函式 (ntifs.h)
RtlAddAccessAllowedAce 例程會將存取允許的訪問控制專案 (ACE) 新增至存取控制清單 (ACL) 。 存取權會授與指定的安全性標識碼, (SID) 。
語法
NTSYSAPI NTSTATUS RtlAddAccessAllowedAce(
[in, out] PACL Acl,
[in] ULONG AceRevision,
[in] ACCESS_MASK AccessMask,
[in] PSID Sid
);
參數
[in, out] Acl
呼叫端配置的緩衝區指標,其中包含要修改的 ACL。 RtlAddAccessAllowedAce 會將允許存取的 ACE 新增至此 ACL 的結尾。 ACE 的格式為ACCESS_ALLOWED_ACE結構。
[in] AceRevision
要新增之 ACE 的 ACL 修訂層級。 Windows 版本需求如下:
值 | 意義 |
---|---|
|
所有 Windows 版本的修訂層級都有效。 |
|
從 Windows 2000 開始有效的修訂層級。
注意 如果 Acl 中的 ACL 包含特定物件的 ACE,則必須ACL_REVISION_DS AceRevision。
|
[in] AccessMask
一或多個 ACCESS_MASK 旗標的位掩碼,指定要授與指定SID的訪問許可權。 如需詳細資訊,請參閱 ZwCreateFile 的 DesiredAccess 參數描述。
[in] Sid
SID 結構的指標,代表被授與存取權的使用者、群組或登入帳戶。
傳回值
RtlAddAccessAllowedAce 可以傳回下列其中一個值:
傳回碼 | Description |
---|---|
|
已成功新增 ACE。 |
|
新的 ACE 不適用於 ACL。 需要較大的 ACL 緩衝區。 如需計算 ACL 大小的相關信息,請參閱 RtlCreateAcl 。 |
|
指定的 ACL 格式不正確。 |
|
指定的 SID 結構在結構上無效。 |
|
指定的修訂未知或與 ACL 的版本不相容。 |
備註
如需安全性和訪問控制的詳細資訊,請參閱 適用於驅動程序開發人員的 Windows 安全性模型 ,以及 Windows SDK 中有關這些主題的檔。
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
標頭 | ntifs.h (包含 Ntifs.h) |
程式庫 | NtosKrnl.lib |
Dll | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |