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 は、この ACL の末尾にアクセス許可 ACE を追加します。 ACE は、ACCESS_ALLOWED_ACE構造の形式です。
[in] AceRevision
追加する ACE の ACL リビジョン レベル。 Windows バージョンの要求は次のとおりです。
値 | 意味 |
---|---|
|
すべての Windows バージョンで有効なリビジョン レベル。 |
|
Windows 2000 以降で有効なリビジョン レベル。
注Acl の ACL にオブジェクト固有の ACE が含まれている場合は、 AceRevision をACL_REVISION_DSする必要があります。
|
[in] AccessMask
指定した SID に付与するアクセス権を指定する 1 つ以上の ACCESS_MASK フラグのビットマスク。 詳細については、ZwCreateFile の DesiredAccess パラメーターの説明を参照してください。
[in] Sid
アクセス権が付与されているユーザー、グループ、またはログオン アカウントを表す SID 構造体へのポインター。
戻り値
RtlAddAccessAllowedAce は、次のいずれかの値を返すことができます。
リターン コード | 説明 |
---|---|
|
ACE が正常に追加されました。 |
|
新しい ACE が ACL に適合しません。 より大きな ACL バッファーが必要です。 ACL のサイズの計算については、「 RtlCreateAcl 」を参照してください。 |
|
指定された ACL が正しく形成されていません。 |
|
指定された SID 構造体が構造的に有効ではありません。 |
|
指定されたリビジョンが不明であるか、ACL のリビジョンと互換性がありません。 |
注釈
セキュリティとアクセス制御の詳細については、 ドライバー開発者向けの Windows セキュリティ モデル と、Windows SDK のこれらのトピックに関するドキュメントを参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | ユニバーサル |
Header | ntifs.h (Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | < DISPATCH_LEVEL |