AddConditionalAce 関数 (winbase.h)
AddConditionalAce 関数は、条件付きアクセス制御エントリ (ACE) を指定されたアクセス制御リスト (ACL) に追加します。 条件付き ACE は、アクセス チェック中に評価される論理条件を指定します。
構文
BOOL AddConditionalAce(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AceFlags,
[in] UCHAR AceType,
[in] DWORD AccessMask,
[in] PSID pSid,
[in] PWCHAR ConditionStr,
[out] DWORD *ReturnLength
);
パラメーター
[in, out] pAcl
ACL へのポインター。 この関数は、この ACL に ACE を追加します。
このパラメーターの値を NULL にすることはできません。
[in] dwAceRevision
変更する ACL のリビジョン レベルを指定します。 この値は、ACL_REVISIONまたはACL_REVISION_DSできます。 ACL にオブジェクト固有の ACE が含まれている場合は、ACL_REVISION_DSを使用します。
[in] AceFlags
ACE 継承を制御するビット フラグのセット。 この関数は、新しい ACE のACE_HEADER構造体の AceFlags メンバーにこれらのフラグを設定します。 このパラメーターは、次の値と組み合わせて使用できます。
[in] AceType
ACE の型。
これには、次のいずれかの値を指定できます。
値 | 意味 |
---|---|
|
ACCESS_ALLOWED_CALLBACK_ACE構造体を使用するアクセス許可コールバック ACE。 |
|
ACCESS_DENIED_CALLBACK_ACE構造体を使用するアクセス拒否コールバック ACE。 |
|
SYSTEM_AUDIT_CALLBACK_ACE構造体を使用するシステム監査コールバック ACE。 |
[in] AccessMask
指定した SID に付与するアクセス権のマスクを指定します。
[in] pSid
アクセス権が付与されているユーザー、グループ、またはログオン アカウントを表す SID へのポインター。
[in] ConditionStr
ACE に対して評価される条件ステートメントを指定する文字列。
[out] ReturnLength
ACL のサイズ (バイト単位)。 pACL パラメーターで指定されたバッファーのサイズが十分でない場合は、このパラメーターの値が必要なサイズになります。
戻り値
関数が成功すると、 TRUE が返されます。
関数が失敗すると、 FALSE が返されます。 拡張エラー情報については、 GetLastError を呼び出します。 考えられるエラー値を次に示します。
リターン コード | 説明 |
---|---|
|
新しい ACE は pAcl バッファーに収まりません。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winbase.h (Windows.h を含む) |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |