RtlAddAce 関数 (ntifs.h)
RtlAddAce ルーチンは、指定されたアクセス制御リスト (ACL) に 1 つ以上のアクセス制御エントリ (ACE) を追加します。
構文
NTSYSAPI NTSTATUS RtlAddAce(
[in, out] PACL Acl,
[in] ULONG AceRevision,
[in] ULONG StartingAceIndex,
[in] PVOID AceList,
[in] ULONG AceListLength
);
パラメーター
[in, out] Acl
変更する ACL へのポインター。 RtlAddAce は 、指定された ACE をこの ACL に追加します。
[in] AceRevision
追加する ACE の ACL リビジョン レベル。 Windows バージョンの要求は次のとおりです。
値 | 意味 |
---|---|
ACL_REVISION | すべての Windows バージョンで有効なリビジョン レベル。 |
ACL_REVISION_DS | Windows 2000 以降で有効なリビジョン レベル。 |
Acl の ACL にオブジェクト固有の ACE が含まれている場合は、AceRevision をACL_REVISION_DSする必要があります。
[in] StartingAceIndex
新しい ACE を追加する ACL の ACE の一覧内の位置を指定します。 値が 0 の場合、リストの先頭に ACE が挿入されます。 MAXULONG の値は、ACE をリストの末尾に追加します。
[in] AceList
指定した ACL に追加する 1 つ以上の ACE のリストを含むバッファーへのポインター。 リスト内の ACE は連続して格納する必要があります。
[in] AceListLength
AceList パラメーターが指す入力バッファーのサイズ (バイト単位)。
戻り値
RtlAddAce は 、次のいずれかのSTATUS_SUCCESSまたは適切な NTSTATUS 値を返します。
リターン コード | 説明 |
---|---|
STATUS_BUFFER_TOO_SMALL | 新しい ACE は ACL に適合しません。 より大きな ACL バッファーが必要です。 STATUS_BUFFER_TOO_SMALLはエラー コードです。 |
STATUS_INVALID_PARAMETER | パラメーター値の 1 つが無効です。 考えられる理由としては、指定した ACL が無効であるか、指定したリビジョンが不明であるか、ACE リストのリビジョンと互換性がない、または ACL のリビジョンと互換性がないなどがあります。 STATUS_INVALID_PARAMETERはエラー コードです。 |
注釈
ACL のサイズの計算については、 RtlCreateAcl のリファレンス エントリの「解説」セクションを参照してください。
ACL 内の ACE へのポインターを取得するには、 RtlGetAce を使用します。
ACL から ACE を削除するには、 RtlDeleteAce を使用します。
アクセス許可 ACE を ACL に追加するには、 RtlAddAccessAllowedAce を使用します。
セキュリティとアクセス制御の詳細については、 ドライバー開発者向けの Windows セキュリティ モデル と、Windows SDK のこれらのトピックに関するドキュメントを参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Server 2003 SP1 |
対象プラットフォーム | ユニバーサル |
Header | ntifs.h (Ntifs.h を含む) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe (カーネル モード);Ntdll.dll (ユーザー モード) |
IRQL | <= APC_LEVEL |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示