次の方法で共有


StopAndRelogTracingSession

C++ Build Insights SDK は、Visual Studio 2017 以降と互換性があります。 これらのバージョンのドキュメントを表示するには、この記事の Visual Studio バージョン セレクター コントロールを Visual Studio 2017 以降に設定します。 このページの目次の一番上にあります。

StopAndRelogTracingSession 関数により、実行中のトレース セッションが停止されて、結果のトレースが一時ファイルに保存されます。 その後、その一時ファイルを入力として使用して、再ログ記録セッションが直ちに開始されます。 再ログ記録セッションによって生成された最終的な再ログ記録されたトレースが、呼び出し元によって指定されたファイルに保存されます。 この関数を呼び出す実行可能ファイルには、管理者権限が必要です。

構文

template <
    typename... TAnalyzerGroupMembers,
    typename... TReloggerGroupMembers>
RESULT_CODE StopAndRelogTracingSession(
    const char*                                   sessionName,
    const char*                                   outputLogFile,
    TRACING_SESSION_STATISTICS*                   statistics,
    unsigned                                      numberOfAnalysisPasses,
    unsigned long long                            systemEventsRetentionFlags,
    StaticAnalyzerGroup<TAnalyzerGroupMembers...> analyzerGroup,
    StaticReloggerGroup<TReloggerGroupMembers...> reloggerGroup);

template <
    typename... TAnalyzerGroupMembers,
    typename... TReloggerGroupMembers>
RESULT_CODE StopAndRelogTracingSession(
    const wchar_t*                                sessionName,
    const wchar_t*                                outputLogFile,
    TRACING_SESSION_STATISTICS*                   statistics,
    unsigned                                      numberOfAnalysisPasses,
    unsigned long long                            systemEventsRetentionFlags,
    StaticAnalyzerGroup<TAnalyzerGroupMembers...> analyzerGroup,
    StaticReloggerGroup<TReloggerGroupMembers...> reloggerGroup);

パラメーター

sessionName
停止するトレース セッションの名前。 StartTracingSessionStartTracingSessionAStartTracingSessionW に渡したものと同じセッション名を使用します。

outputLogFile
再ログ記録セッションによって生成される再ログ記録されたトレースを書き込むファイル。

statistics
TRACING_SESSION_STATISTICS オブジェクトへのポインター。 StopAndRelogTracingSession によって、戻る前に、このオブジェクトのトレース コレクション統計情報が書き込まれます。

numberOfAnalysisPasses
トレースに対して実行する分析パスの数。 トレースは、指定されたアナライザー グループを通して、分析パスごとに 1 回渡されます。

systemEventsRetentionFlags
再記録されたトレースに保持するシステム ETW イベントを指定する RELOG_RETENTION_SYSTEM_EVENT_FLAGS ビットマスク。

analyzerGroup
再ログ記録セッションの分析フェーズに使用されるアナライザー グループ。 アナライザー グループを作成するには、MakeStaticAnalyzerGroup を呼び出します。 MakeDynamicAnalyzerGroup から取得された動的アナライザー グループを使用する場合は、最初に、そのアドレスを MakeStaticAnalyzerGroup に渡すことによって、静的なアナライザー グループ内にそれをカプセル化します。

reloggerGroup
outputLogFile で指定されているトレース ファイルにイベントを再ログ記録するリロガー グループ。 リロガー グループを作成するには、MakeStaticReloggerGroup を呼び出します。 MakeDynamicAnalyzerGroup から取得された動的リロガー グループを使用したい場合は、最初に、そのアドレスを MakeStaticReloggerGroup に渡すことによって、静的リロガー グループ内にそれをカプセル化します。

戻り値

RESULT_CODE 列挙型の結果コード。

解説

入力トレースは、アナライザー グループを通して numberOfAnalysisPasses 回渡されます。 再ログ記録パスには同様のオプションはありません。 トレースは、すべての分析パスの完了後に、リロガー グループを通して 1 回だけ渡されます。

CPU サンプルなどのシステム イベントをリロガー クラス内から再ログ記録することはサポートされていません。 出力トレースに保持するシステム イベントを決定するには、systemEventsRetentionFlags パラメーターを使用します。