|
1 | 1 | ---
|
2 | 2 | title: "Relog"
|
3 | 3 | description: "The C++ Build Insights SDK Relog function reference."
|
4 |
| -ms.date: "02/12/2020" |
| 4 | +ms.date: 02/12/2020 |
5 | 5 | helpviewer_keywords: ["C++ Build Insights", "C++ Build Insights SDK", "Relog", "throughput analysis", "build time analysis", "vcperf.exe"]
|
6 | 6 | ---
|
7 |
| -# Relog |
| 7 | +# `Relog` |
8 | 8 |
|
9 | 9 | ::: moniker range="<=msvc-140"
|
10 | 10 |
|
@@ -41,42 +41,44 @@ RESULT_CODE Relog(
|
41 | 41 | StaticReloggerGroup<TReloggerGroupMembers...> reloggerGroup);
|
42 | 42 | ```
|
43 | 43 |
|
44 |
| -### Parameters |
| 44 | +### Template parameters |
| 45 | +
|
| 46 | +*`TAnalyzerGroupMembers`*\ |
| 47 | +This template parameter pack is always deduced. |
45 | 48 |
|
46 |
| -*TAnalyzerGroupMembers*\ |
47 |
| -This parameter is always deduced. |
| 49 | +*`TReloggerGroupMembers`*\ |
| 50 | +This template parameter pack is always deduced. |
48 | 51 |
|
49 |
| -*TReloggerGroupMembers*\ |
50 |
| -This parameter is always deduced. |
| 52 | +### Parameters |
51 | 53 |
|
52 |
| -*inputLogFile*\ |
| 54 | +*`inputLogFile`*\ |
53 | 55 | The input ETW trace that you wish to read events from.
|
54 | 56 |
|
55 |
| -*outputLogFile*\ |
| 57 | +*`outputLogFile`*\ |
56 | 58 | The file in which to write the new events.
|
57 | 59 |
|
58 |
| -*numberOfAnalysisPasses*\ |
| 60 | +*`numberOfAnalysisPasses`*\ |
59 | 61 | The number of analysis passes to run on the input trace. The trace gets passed through the provided analyzer group once per analysis pass.
|
60 | 62 |
|
61 |
| -*systemEventsRetentionFlags*\ |
62 |
| -A bitmask that specifies which system ETW events to keep in the relogged trace. For more information, see [RELOG_RETENTION_SYSTEM_EVENT_FLAGS](../other-types/relog-retention-system-event-flags-constants.md). |
| 63 | +*`systemEventsRetentionFlags`*\ |
| 64 | +A bitmask that specifies which system ETW events to keep in the relogged trace. For more information, see [`RELOG_RETENTION_SYSTEM_EVENT_FLAGS`](../other-types/relog-retention-system-event-flags-constants.md). |
63 | 65 |
|
64 |
| -*analyzerGroup*\ |
65 |
| -The analyzer group used for the analysis phase of the relogging session. Call [MakeStaticAnalyzerGroup](make-static-analyzer-group.md) to create an analyzer group. To use a dynamic analyzer group obtained from [MakeDynamicAnalyzerGroup](make-dynamic-analyzer-group.md), first encapsulate it inside a static analyzer group by passing its address to `MakeStaticAnalyzerGroup`. |
| 66 | +*`analyzerGroup`*\ |
| 67 | +The analyzer group used for the analysis phase of the relogging session. Call [`MakeStaticAnalyzerGroup`](make-static-analyzer-group.md) to create an analyzer group. To use a dynamic analyzer group obtained from [`MakeDynamicAnalyzerGroup`](make-dynamic-analyzer-group.md), first encapsulate it inside a static analyzer group by passing its address to `MakeStaticAnalyzerGroup`. |
66 | 68 |
|
67 |
| -*reloggerGroup*\ |
68 |
| -The relogger group that relogs events into the trace file specified in *outputLogFile*. Call [MakeStaticReloggerGroup](make-static-relogger-group.md) to create a relogger group. To use a dynamic relogger group obtained from [MakeDynamicReloggerGroup](make-dynamic-relogger-group.md), first encapsulate it inside a static relogger group by passing its address to `MakeStaticReloggerGroup`. |
| 69 | +*`reloggerGroup`*\ |
| 70 | +The relogger group that relogs events into the trace file specified in *`outputLogFile`*. Call [`MakeStaticReloggerGroup`](make-static-relogger-group.md) to create a relogger group. To use a dynamic relogger group obtained from [`MakeDynamicReloggerGroup`](make-dynamic-relogger-group.md), first encapsulate it inside a static relogger group by passing its address to `MakeStaticReloggerGroup`. |
69 | 71 |
|
70 | 72 | ### Return Value
|
71 | 73 |
|
72 |
| -A result code from the [RESULT_CODE](../other-types/result-code-enum.md) enum. |
| 74 | +A result code from the [`RESULT_CODE`](../other-types/result-code-enum.md) enum. |
73 | 75 |
|
74 |
| -### Remark |
| 76 | +### Remarks |
75 | 77 |
|
76 |
| -The input trace is passed through the analyzer group *numberOfAnalysisPasses* times. There's no similar option for relogging passes. The trace is passed trough the relogger group only once, after all analysis passes are complete. |
| 78 | +The input trace is passed through the analyzer group *`numberOfAnalysisPasses`* times. There's no similar option for relogging passes. The trace is passed trough the relogger group only once, after all analysis passes are complete. |
77 | 79 |
|
78 |
| -The relogging of system events like CPU samples from within a relogger class isn't supported. Use the *systemEventsRetentionFlags* parameter to decide which system events to keep in the output trace. |
| 80 | +The relogging of system events like CPU samples from within a relogger class isn't supported. Use the *`systemEventsRetentionFlags`* parameter to decide which system events to keep in the output trace. |
79 | 81 |
|
80 |
| -The `relog` function depends on the COM API. You must call `CoInitialize` before you call `relog`. Call `CoUninitialize` once `relog` has finished. If you call `relog` without a call to `CoInitialize` first, you'll get error code 9 (`RESULT_CODE_FAILURE_START_RELOGGER`). |
| 82 | +The `relog` function depends on the COM API. You must call [`CoInitialize`](/windows/win32/api/objbase/nf-objbase-coinitialize) before you call `relog`. Call [`CoUninitialize`](/windows/win32/api/combaseapi/nf-combaseapi-couninitialize) once `relog` has finished. If you call `relog` without a call to `CoInitialize` first, you'll get error code 9 (`RESULT_CODE_FAILURE_START_RELOGGER`). |
81 | 83 |
|
82 | 84 | ::: moniker-end
|
0 commit comments