共用方式為


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
要停止的追蹤會話名稱。 使用與傳遞至 StartTracingSession StartTracingSessionA StartTracingSessionW 的會話名稱相同。

outputLogFile
要在其中寫入重新記錄會話所產生的重新記錄追蹤的檔案。

統計
TRACING_SESSION_STATISTICS 物件的指標。 StopAndRelogTracingSession 在傳回之前,會寫入這個 物件的追蹤集合統計資料。

numberOfAnalysisPasses
在追蹤上執行的分析傳遞數目。 追蹤會在每個分析階段通過所提供的分析器群組一次。

systemEventsRetentionFlags
RELOG_RETENTION_SYSTEM_EVENT_FLAGS 位元遮罩,指定要保留在重新記錄追蹤中的系統 ETW 事件。

analyzerGroup
用於重新記錄會話分析階段的分析器群組。 呼叫 MakeStaticAnalyzerGroup 以建立分析器群組。 如果您想要使用從 MakeDynamicAnalyzerGroup 取得的動態分析器群組,請先將位址傳遞至 ,將其封裝在 MakeStaticAnalyzerGroup 靜態分析器群組中。

reloggerGroup
重新記錄器群組,會將事件重新記錄到 outputLogFile 中指定的 追蹤檔案中。 呼叫 MakeStaticReloggerGroup 以建立重新記錄器群組。 如果您想要使用從 MakeDynamicReloggerGroup 取得的動態重新記錄器群組,請先將位址傳遞至 ,將其封裝在 MakeStaticReloggerGroup 靜態重新記錄器群組內。

傳回值

來自 RESULT_CODE 列舉的結果碼。

備註

輸入追蹤會透過分析器組 數OfAnalysisPasses 時間傳遞。 重新記錄傳遞沒有類似的選項。 在完成所有分析階段之後,追蹤只會通過重新記錄器群組一次。

不支援從重新記錄器類別內重新記錄系統事件,例如 CPU 範例。 使用 systemEventsRetentionFlags 參數來決定要保留在輸出追蹤中的系統事件。