AddAuditAccessAceEx 関数 (securitybaseapi.h)
AddAuditAccessAceEx 関数は、システム 監査アクセス制御エントリ (ACE) をシステム アクセス制御リスト (SACL) の末尾に追加します。
構文
BOOL AddAuditAccessAceEx(
[in, out] PACL pAcl,
[in] DWORD dwAceRevision,
[in] DWORD AceFlags,
[in] DWORD dwAccessMask,
[in] PSID pSid,
[in] BOOL bAuditSuccess,
[in] BOOL bAuditFailure
);
パラメーター
[in, out] pAcl
SACL へのポインター。 AddAuditAccessAceEx 関数は、この SACL にシステム監査 ACE を追加します。 ACE は、 SYSTEM_AUDIT_ACE 構造体の形式です。
[in] dwAceRevision
変更する SACL のリビジョン レベルを指定します。 この値は、ACL_REVISIONまたはACL_REVISION_DSできます。 SACL にオブジェクト固有の ACE が含まれている場合は、ACL_REVISION_DSを使用します。
[in] AceFlags
ACE の継承とアクセスの種類を制御するビット フラグのセットが監査を試みます。 関数は、新しい ACE のACE_HEADER構造体の AceFlags メンバーにこれらのフラグを設定します。 このパラメーターは、次の値と組み合わせて使用できます。
値 | 意味 |
---|---|
|
ACE はコンテナー オブジェクトによって継承されます。 |
|
このフラグを設定するか、bAuditFailure パラメーターに TRUE を指定した場合、指定したアクセス権を使用しようとして失敗すると、システムはセキュリティ イベント ログに監査レコードを生成します。 |
|
ACE は 、アクセス制御リスト (ACL) が割り当てられているオブジェクトには適用されませんが、子オブジェクトによって継承できます。 |
|
継承された ACE を示します。 このフラグを使用すると、オブジェクトのツリーのセキュリティを変更する操作で、オブジェクトに直接適用された ACE は変更されず、継承された ACE を変更できます。 |
|
OBJECT_INHERIT_ACEビットとCONTAINER_INHERIT_ACE ビットは、継承された ACE には反映されません。 |
|
ACE は、非コンテナー オブジェクトによって継承されます。 |
|
このフラグを設定するか、bAuditSuccess パラメーターに TRUE を指定すると、指定したアクセス権が正常に使用されると、システムはセキュリティ イベント ログに監査レコードを生成します。 |
[in] dwAccessMask
新しい ACE が指定したセキュリティ識別子 (SID) に対して監査するアクセス権を指定するために、ACCESS_MASK形式を使用するビット フラグのセット。
[in] pSid
新しい ACE がアクセスを監査するユーザー、グループ、または ログオン セッション を識別する SID へのポインター。
[in] bAuditSuccess
指定したアクセス権が正常に使用され、システムがセキュリティ イベント ログに監査レコードを生成するかどうかを指定します。 このフラグが TRUE の 場合、または AceFlags パラメーターに SUCCESSFUL_ACCESS_ACE_FLAG フラグが指定されている場合、システムは正常なアクセス試行を記録します。それ以外の場合は、行われません。
[in] bAuditFailure
指定したアクセス権を使用しようとして失敗した場合に、システムがセキュリティ イベント ログに監査レコードを生成するかどうかを指定します。 このフラグが TRUE の 場合、または AceFlags パラメーターで FAILED_ACCESS_ACE_FLAG フラグが指定されている場合、システムはアクセス試行に失敗したことを記録します。それ以外の場合は、行われません。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。 考えられるエラー値を次に示します。
リターン コード | 説明 |
---|---|
|
新しい ACE は ACL に適合しません。 より大きな ACL バッファーが必要です。 |
|
指定された ACL が正しく形成されていません。 |
|
AceFlags パラメーターが無効です。 |
|
指定された SID が構造的に有効ではありません。 |
|
指定されたリビジョンが不明であるか、ACL のリビジョンと互換性がありません。 |
|
ACE が正常に追加されました。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | securitybaseapi.h (Windows.h を含む) |
Library | Advapi32.lib |
[DLL] | Advapi32.dll |