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 の構造体は、非メンバー関数へのポインターのみを受け入れます。 この制限は、オブジェクト ポインターに設定することによって回避できます。 このオブジェクト ポインターは、すべての非メンバー コールバック関数に引数として渡されます。 メンバー関数を非メンバー コールバック関数内から呼び出すには、このポインターを使用します。

再記録セッションの分析フェーズは、常に再記録フェーズの前に実行されます。