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 |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の advapi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_advapi32_gen2.hs |