StopTraceW

StopTraceW (Unicode) 関数 (evntrace.h) は、指定したイベントトレースセッションを停止する。ControlTrace 関数がこの関数に取って代わる。

StopTraceW 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) 構造体へのポインタ。新しく初期化した構造体を使用する場合、構造体の **Wnode.BufferSize**、**Wnode.Guid**、**LoggerNameOffset**、および **LogFileNameOffset** メンバのみ設定する必要がある。バッファサイズとオフセットが不明な場合、最大セッション名(1024 文字)と最大ログファイル名(1024 文字)の長さを使用して計算できる。**Windows 10 バージョン 1703 以降:** プロセス間シナリオでのパフォーマンス向上のため、システムワイドなプライベートロガーに対して **StopTrace** にフィルタリング情報を渡せるようになった。フィルタリング情報を含めるには、新しい [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)

解説

StopTraceW (Unicode) 関数 (evntrace.h)
は、指定したイベントトレースセッションを停止する。ControlTrace 関数がこの関数に取って代わる。

[戻り値]
関数が成功した場合、戻り値は 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 グループに追加すること。**Windows XP および Windows 2000:**
誰でもトレースセッションを制御できる。

[備考]
イベントトレースコントローラがこの関数を呼び出す。この関数は廃止予定である。代わりに、_ControlCode_ を
**EVENT_TRACE_CONTROL_STOP** に設定した
[ControlTrace](/windows/win32/api/evntrace/nf-evntrace-controltracew)
を使用する。**LogFileMode** に **EVENT_TRACE_FILE_MODE_PREALLOCATE**
が含まれる場合、[StartTrace](/windows/desktop/ETW/starttrace) はログファイルを
**MaximumFileSize**
バイトに拡張する。ファイルは、循環ログおよびシーケンシャルログの両方について、ログ記録中は領域全体を占有する。ロガーを停止すると、ログファイルは必要なサイズに縮小される。DllMain
から **StopTrace** を呼び出さないこと(デッドロックの原因となる可能性がある)。> [!NOTE] > evntrace.h
ヘッダは StopTrace をエイリアスとして定義しており、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