次の方法で共有


Relog

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

Relog 関数は、Event Tracing for Windows (ETW) トレースから MSVC イベントを読み取り、それを新しい変更された ETW トレースに書き込むために使用されます。

構文

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

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

パラメーター

TAnalyzerGroupMembers
このパラメーターは常に推測されます。

TReloggerGroupMembers
このパラメーターは常に推測されます。

inputLogFile
イベントの読み取り元の入力 ETW トレース。

outputLogFile
新しいイベントを書き込むファイル。

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

systemEventsRetentionFlags
再ログ記録されたトレースに保持するシステム ETW イベントを指定するビットマスク。 詳細については、「RELOG_RETENTION_SYSTEM_EVENT_FLAGS」を参照してください。

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

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

戻り値

RESULT_CODE 列挙型の結果コード。

注釈

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

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

relog関数は COM API に依存します。 relogを呼び出す前に、CoInitializeを呼び出す必要があります。 relogが完了したら、CoUninitializeを呼び出します。 最初にCoInitializeを呼び出さずにrelogを呼び出すと、エラー コード 9 (RESULT_CODE_FAILURE_START_RELOGGER) が表示されます。