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
) が表示されます。