AddAccessDeniedAce 関数 (securitybaseapi.h)
AddAccessDeniedAce 関数は、アクセス拒否アクセス制御エントリ (ACE) をアクセス制御リスト (ACL) に追加します。 指定された セキュリティ識別子 (SID) へのアクセスが拒否されます。
新しい ACE を子オブジェクトによって継承できるかどうかを制御するには、 AddAccessDeniedAceEx 関数を使用します。
構文
BOOL AddAccessDeniedAce(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AccessMask,
[in] PSID pSid
);
パラメーター
[in, out] pAcl
ACL へのポインター。 この関数は、アクセス拒否 ACE をこの ACL の末尾に追加します。 ACE は、 ACCESS_DENIED_ACE 構造の形式です。
[in] dwAceRevision
変更する ACL のリビジョン レベルを指定します。
この値は、ACL_REVISIONまたはACL_REVISION_DSできます。 ACL にオブジェクト固有の ACE が含まれている場合は、ACL_REVISION_DSを使用します。
[in] AccessMask
指定した SID に対して拒否されるアクセス権のマスクを指定します。
[in] pSid
アクセスが拒否されているユーザー、グループ、またはログオン アカウントを表す SID 構造体へのポインター。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。 考えられるエラー値を次に示します。
リターン コード | 説明 |
---|---|
|
新しい ACE は ACL に適合しません。 より大きな ACL バッファーが必要です。 |
|
指定された ACL が正しく形成されていません。 |
|
指定された SID が構造的に有効ではありません。 |
|
指定されたリビジョンが不明であるか、ACL のリビジョンと互換性がありません。 |
|
ACE が正常に追加されました。 |
注釈
AddAccessAllowedAce 関数と AddAccessDeniedAce 関数は、ACL の ACE の一覧の末尾に新しい ACE を追加します。 これらの関数では、新しい ACE が適切な正規の順序で自動的に配置されるわけではありません。 ACL が正しい順序で ACE を追加して正規の順序になるようにするのは、呼び出し元の責任です。
AddAccessDeniedAce 関数によって ACE に配置されたACE_HEADER構造体は、型とサイズを指定しますが、ACE フラグは提供しません。
AddAccessDeniedAce によって追加された ACE は継承できません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | securitybaseapi.h (Windows.h を含む) |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |