AddAuditAccessAce 関数 (securitybaseapi.h)

AddAuditAccessAce 関数は、システム 監査アクセス制御エントリ (ACE) をシステム アクセス制御リスト (ACL) に追加します。 指定された セキュリティ識別子 (SID) のアクセスが監査されます。

新しい ACE を子オブジェクトで継承できるかどうかを制御するには、 AddAuditAccessAceEx 関数を使用します。

構文

BOOL AddAuditAccessAce(
  [in, out] PACL  pAcl,
  [in]      DWORD dwAceRevision,
  [in]      DWORD dwAccessMask,
  [in]      PSID  pSid,
  [in]      BOOL  bAuditSuccess,
  [in]      BOOL  bAuditFailure
);

パラメーター

[in, out] pAcl

ACL へのポインター。 この関数は、この ACL にシステム監査 ACE を追加します。 ACE は、 SYSTEM_AUDIT_ACE 構造体の形式です。

[in] dwAceRevision

変更する ACL のリビジョン レベルを指定します。

この値は、ACL_REVISIONまたはACL_REVISION_DSできます。 ACL にオブジェクト固有の ACE が含まれている場合は、ACL_REVISION_DSを使用します。

[in] dwAccessMask

指定した SID に対して監査するアクセス権のマスクを指定します。

[in] pSid

アクセスが監査されている プロセス を表す SID へのポインター。

[in] bAuditSuccess

成功したアクセス試行を監査するかどうかを指定します。 監査を有効にするには、このフラグを TRUE に設定します。それ以外の場合は、 FALSE に設定します。

[in] bAuditFailure

失敗したアクセス試行を監査するかどうかを指定します。 監査を有効にするには、このフラグを TRUE に設定します。それ以外の場合は、 FALSE に設定します。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。 考えられるエラー値を次に示します。

リターン コード 説明
ERROR_ALLOTTED_SPACE_EXCEEDED
新しい ACE は ACL に適合しません。 より大きな ACL バッファーが必要です。
ERROR_INVALID_ACL
指定された ACL が正しく形成されていません。
ERROR_INVALID_SID
指定された SID が構造的に有効ではありません。
ERROR_REVISION_MISMATCH
指定されたリビジョンが不明であるか、ACL のリビジョンと互換性がありません。
ERROR_SUCCESS
ACE が正常に追加されました。

注釈

AddAuditAccessAce 関数によって ACE に配置されたACE_HEADER構造体は、型とサイズを指定しますが、ACE フラグは提供しません。

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー securitybaseapi.h (Windows.h を含む)
Library Advapi32.lib
[DLL] Advapi32.dll

こちらもご覧ください

ACE_HEADER

AddAccessAllowedAce

AddAccessDeniedAce

AddAce

AddAuditAccessAceEx

DeleteAce

GetAce

低レベルのAccess Control

低レベルのAccess Control関数

SYSTEM_AUDIT_ACE