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 中的 ACL 包含物件特定的 ACE,則必須 ACL_REVISION_DSAceRevision。
|
[in] AccessMask
一或多個 ACCESS_MASK 旗標的位掩碼,指定要授與指定 SID 的訪問許可權。 如需詳細資訊,請參閱 ZwCreateFileDesiredAccess 參數的描述。
[in] Sid
SID 結構的指標,代表正在授與存取權的使用者、群組或登入帳戶。
傳回值
RtlAddAccessAllowedAce 可以傳回下列其中一個值:
傳回碼 | 描述 |
---|---|
|
已成功新增 ACE。 |
|
新的 ACE 不符合 ACL。 需要較大的 ACL 緩衝區。 如需計算 ACL 大小的相關信息,請參閱 RtlCreateAcl。 |
|
指定的 ACL 格式不正確。 |
|
指定的 SID 結構在結構上無效。 |
|
指定的修訂未知或與 ACL 的版本不相容。 |
言論
如需安全性和訪問控制的詳細資訊,請參閱 適用於驅動程式開發人員的 Windows 安全性模型,以及 Windows SDK 中這些主題的檔。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
標頭 | ntifs.h (include Ntifs.h) |
連結庫 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |