|
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