QueryTraceW

QueryTraceW (Unicode) 関数 (evntrace.h) は、指定したイベントトレースセッションのプロパティ設定とセッション統計情報を取得する。

QueryTraceW TraceHandle, InstanceName, Properties

TraceHandle : [int] 問い合わせ対象のイベントトレースセッションへのハンドル、または 0。_InstanceName_ が **NULL** の場合は、0 以外の _TraceHandle_ を指定する必要がある。このパラメータは _InstanceName_ が **NULL** の場合にのみ使用される。ハンドルは [StartTrace](/windows/win32/api/evntrace/nf-evntrace-starttracew) が返す。
InstanceName : [wstr] 問い合わせ対象のイベントトレースセッションの名前、または **NULL**。_TraceHandle_ が 0 の場合は _InstanceName_ を指定する必要がある。NT カーネルロガーセッションを指定するには、_InstanceName_ に **KERNEL_LOGGER_NAME** を設定する。
Properties : [var] 初期化済みの [EVENT_TRACE_PROPERTIES](/windows/desktop/ETW/event-trace-properties) 構造体へのポインタ。[EVENT_TRACE_PROPERTIES](/windows/desktop/ETW/event-trace-properties) 構造体の **Wnode.BufferSize** メンバのみ設定する必要がある。バッファサイズとオフセットが不明な場合、最大セッション名(1024 文字)と最大ログファイル名(1024 文字)の長さを用いて計算できる。出力時には、構造体のメンバにイベントトレースセッションのプロパティ設定とセッション統計情報が格納される。**Windows 10 バージョン 1703 以降:** プロセス間シナリオでのパフォーマンス向上のため、システムワイドなプライベートロガーに対して **QueryTrace** にフィルタリング情報を渡せるようになった。フィルタリング情報を含めるには、新しい [EVENT_TRACE_PROPERTIES_V2](/windows/desktop/ETW/event-trace-properties-v2) 構造体を渡す必要がある。詳細については [Configuring and Starting a Private Logger Session](/windows/desktop/ETW/configuring-and-starting-a-private-logger-session) を参照のこと。

(プラグイン / モジュール : advapi32.dll)

解説

QueryTraceW (Unicode) 関数 (evntrace.h)
は、指定したイベントトレースセッションのプロパティ設定とセッション統計情報を取得する。

[戻り値]
関数が成功した場合、戻り値は ERROR_SUCCESS となる。関数が失敗した場合、戻り値は
[システムエラーコード](/windows/win32/debug/system-error-codes)
のいずれかとなる。以下は代表的なエラーとその原因である。- **ERROR_BAD_LENGTH** 次のいずれかが発生している: -
_Properties_ の **Wnode.BufferSize** メンバが不正なサイズを指定している。- _Properties_
にセッション名とログファイル名(使用時)のコピーを保持するための十分な領域が割り当てられていない。-
**ERROR_INVALID_PARAMETER** 次のいずれかが発生している: - _Properties_ が
**NULL**。- _InstanceName_ と _TraceHandle_ の両方が **NULL**。-
_InstanceName_ が **NULL** で _TraceHandle_ が有効なハンドルでない。-
**ERROR_ACCESS_DENIED** 管理者特権で実行しているユーザ、Performance Log Users
グループのユーザ、および LocalSystem / LocalService / NetworkService
として実行中のサービスのみイベントトレースセッションを問い合わせできる。制限付きユーザにトレースセッションの問い合わせ権限を付与するには、Performance
Log Users
グループに追加するか、[EventAccessControl](/windows/desktop/api/evntcons/nf-evntcons-eventaccesscontrol)
を参照のこと。**Windows XP および Windows 2000:** 誰でもトレースセッションを制御できる。-
**ERROR_WMI_INSTANCE_NOT_FOUND** 指定されたセッションが実行されていない。

[備考]
イベントトレースコントローラがこの関数を呼び出す。この関数は廃止予定である。代わりに、_ControlCode_ を
**EVENT_TRACE_CONTROL_QUERY** に設定した
[ControlTrace](/windows/win32/api/evntrace/nf-evntrace-controltracew)
を使用する。> [!NOTE] > evntrace.h ヘッダは QueryTrace をエイリアスとして定義しており、UNICODE
プリプロセッサ定数の定義に基づいて ANSI または Unicode
版を自動的に選択する。エンコーディングに中立なエイリアスをエンコーディング中立でないコードと混在させると、コンパイル時または実行時エラーとなる可能性がある。詳細は
[Conventions for Function
Prototypes](/windows/win32/intl/conventions-for-function-prototypes)
を参照のこと。

情報

プラグイン / モジュールadvapi32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の advapi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_advapi32_gen2.hs