EventAccessControl 関数 (evntcons.h)

指定したプロバイダーまたはセッションのアクセス許可を追加または変更します。

構文

ULONG EVNTAPI EventAccessControl(
  [in] LPGUID  Guid,
  [in] ULONG   Operation,
  [in] PSID    Sid,
  [in] ULONG   Rights,
  [in] BOOLEAN AllowOrDeny
);

パラメーター

[in] Guid

アクセス許可を追加または変更するプロバイダーまたはセッションを一意に識別する GUID。

[in] Operation

実行する操作の種類 。たとえば、セッションの GUID またはプロバイダーの GUID に DACL を追加します。 指定できる値については、 EVENTSECURITYOPERATION 列挙を参照してください。

[in] Sid

アクセス許可を付与または拒否するユーザーまたはグループのセキュリティ識別子 (SID)。

[in] Rights

次のアクセス許可を 1 つ以上指定できます。

意味
WMIGUID_QUERY
ユーザーがトレース セッションに関する情報を照会できるようにします。 セッションの GUID に対してこのアクセス許可を設定します。
TRACELOG_CREATE_REALTIME
ユーザーがリアルタイム セッションを開始または更新できるようにします。 セッションの GUID に対してこのアクセス許可を設定します。
TRACELOG_CREATE_ONDISK
ユーザーがログ ファイルにイベントを書き込むセッションを開始または更新できるようにします。 セッションの GUID に対してこのアクセス許可を設定します。
TRACELOG_GUID_ENABLE
ユーザーがプロバイダーを有効にできるようにします。 プロバイダーの GUID に対してこのアクセス許可を設定します。
TRACELOG_ACCESS_KERNEL_LOGGER
使用されていません。
TRACELOG_LOG_EVENT
セッションが SECURE モードで実行されている場合に、ユーザーがトレース セッションにイベントをログに記録できるようにします (セッションは、EVENT_TRACE_PROPERTIESの LogFileMode メンバーでEVENT_TRACE_SECURE_MODE フラグを設定します)。
TRACELOG_ACCESS_REALTIME
ユーザーがリアルタイムでイベントを使用できるようにします。 セッションの GUID に対してこのアクセス許可を設定します。
TRACELOG_REGISTER_GUIDS
ユーザーがプロバイダーを登録できるようにします。 プロバイダーの GUID に対してこのアクセス許可を設定します。

[in] AllowOrDeny

TRUE の場合は、セッションまたはプロバイダーへのアクセス許可をユーザーに付与します。それ以外の場合は、アクセス許可を拒否します。 Operation の値が EventSecuritySetSACL または EventSecurityAddSACL の場合、この値は無視されます。

戻り値

成功した場合は、ERROR_SUCCESSを返します。

解説

既定では、コンピューターの管理者、パフォーマンス ログ ユーザー グループ内のユーザー、LocalSystem、LocalService、NetworkService として実行されているサービスのみがトレース セッションを制御し、イベント データを提供および使用できます。 管理者特権と LocalSystem として実行されているサービスを持つユーザーのみが NT カーネル ロガー セッションを開始および制御できます。

Windows Server 2003: トレース セッションを制御し、イベント データを使用できるのは、管理者特権を持つユーザーのみです。すべてのユーザーがイベント データを提供できます。

Windows XP と Windows 2000: どのユーザーでもトレース セッションを制御し、イベント データを提供および使用できます。

管理者特権を持つユーザーは、セッションの制御に使用するツールが [管理者として実行]で開かれたコマンド プロンプト ウィンドウから開始された場合に、トレース セッションを制御できます。

制限付きユーザーにトレース セッションを制御する機能を付与するには、それらをパフォーマンス ログ ユーザー グループに追加するか、この関数を呼び出してアクセス許可を付与します。 たとえば、トレース セッションを開始および停止するアクセス許可をユーザー A に付与し、セッションに対してのみクエリを実行するアクセス許可をユーザー B に付与できます。

セッションにイベントを記録できるユーザーを制限するには、TRACELOG_LOG_EVENTアクセス許可を参照してください。

ログ ファイルの ACL によって、ログ ファイルからイベント データを使用できるユーザーが決まります。 セッションからのイベントをリアルタイムで使用するには、ユーザーにTRACELOG_ACCESS_REALTIMEアクセス許可を付与するか、ユーザーがパフォーマンス ログ ユーザー グループのメンバーである必要があります。

プロバイダーの GUID を指定して、プロバイダーを登録できるユーザーとプロバイダーを有効にできるユーザーを制限することもできます。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー evntcons.h
Library Windows 8.1 および Windows Server 2012 の Sechost.lib。Windows 8.1および Windows Server 2012 R2 の Sechost.lib。Windows 8、Windows Server 2012、Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista 上の Advapi32.lib
[DLL] Windows 8.1 と Windows Server 2012 の Sechost.dll。Windows 8、Windows Server 2012、Windows 7、Windows Server 2008 R2、Windows Server 2008、Windows Vista の Advapi32.dll

関連項目

EventAccessQuery

EventAccessRemove