RELOG_DESCRIPTOR 構造体
C++ Build Insights SDK は、Visual Studio 2017 以降と互換性があります。 これらのバージョンのドキュメントを表示するには、この記事の Visual Studio バージョン セレクター コントロールを Visual Studio 2017 以降に設定します。 このページの目次の一番上にあります。
RELOG_DESCRIPTOR 構造体は、RelogA および RelogW 関数と共に使用されます。 ここでは、Windows イベント トレーシング (ETW) を再記録する方法について説明します。
構文
typedef struct RELOG_DESCRIPTOR_TAG
{
unsigned NumberOfAnalysisPasses;
ANALYSIS_CALLBACKS AnalysisCallbacks;
RELOG_CALLBACKS RelogCallbacks;
unsigned long long SystemEventsRetentionFlags;
void* AnalysisContext;
void* RelogContext;
} RELOG_DESCRIPTOR;
メンバー
| 名前 | [説明] |
|---|---|
NumberOfAnalysisPasses |
再記録セッションの分析フェーズ中に ETW トレースで実行される分析パスの数。 |
AnalysisCallbacks |
再記録セッションの分析フェーズ中に呼び出す関数を指定する ANALYSIS_CALLBACKS オブジェクト。 |
RelogCallbacks |
再記録セッションの再記録フェーズ中に呼び出す関数を指定する RELOG_CALLBACKS オブジェクト。 |
SystemEventsRetentionFlags |
再記録されたトレースに保持するシステム ETW イベントを指定する RELOG_RETENTION_SYSTEM_EVENT_FLAGS ビットマスク。 |
AnalysisContext |
AnalysisCallbacks で指定されたすべてのコールバック関数に引数として渡されるユーザー指定のコンテキスト |
RelogContext |
RelogCallbacks で指定されたすべてのコールバック関数に引数として渡されるユーザー指定のコンテキスト |
注釈
再記録セッション中の ETW イベントの再記録は、RelogCallbacks で指定されたコールバック関数を介してユーザーによって制御されます。 ただし、CPU サンプルなどのシステム ETW イベントは、これらのコールバック関数に転送されません。 システム ETW イベントの再記録を制御するには、SystemEventsRetentionFlags フィールドを使用します。
AnalysisCallbacks および RelogCallbacks の構造体は、非メンバー関数へのポインターのみを受け入れます。 この制限は、オブジェクト ポインターに設定することによって回避できます。 このオブジェクト ポインターは、すべての非メンバー コールバック関数に引数として渡されます。 メンバー関数を非メンバー コールバック関数内から呼び出すには、このポインターを使用します。
再記録セッションの分析フェーズは、常に再記録フェーズの前に実行されます。