Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zestaw SDK usługi Build Insights języka C++ jest zgodny z programem Visual Studio 2017 lub nowszym. Aby zapoznać się z dokumentacją dla tych wersji, ustaw kontrolkę selektora wersji programu Visual Studio dla tego artykułu na program Visual Studio 2017 lub nowszy. Znajduje się on w górnej części spisu treści na tej stronie.
Funkcja Relog służy do odczytywania zdarzeń MSVC ze śledzenia zdarzeń systemu Windows (ETW) i zapisywania ich w nowym, zmodyfikowanym śledzeniu ETW.
Składnia
template <
typename... TAnalyzerGroupMembers,
typename... TReloggerGroupMembers>
RESULT_CODE Relog(
const char* inputLogFile,
const char* outputLogFile,
unsigned numberOfAnalysisPasses,
unsigned long long systemEventsRetentionFlags,
StaticAnalyzerGroup<TAnalyzerGroupMembers...> analyzerGroup,
StaticReloggerGroup<TReloggerGroupMembers...> reloggerGroup);
template <
typename... TAnalyzerGroupMembers,
typename... TReloggerGroupMembers>
RESULT_CODE Relog(
const wchar_t* inputLogFile,
const wchar_t* outputLogFile,
unsigned numberOfAnalysisPasses,
unsigned long long systemEventsRetentionFlags,
StaticAnalyzerGroup<TAnalyzerGroupMembers...> analyzerGroup,
StaticReloggerGroup<TReloggerGroupMembers...> reloggerGroup);
Parametry szablonu
TAnalyzerGroupMembers
Ten pakiet parametrów szablonu jest zawsze dedukowany.
TReloggerGroupMembers
Ten pakiet parametrów szablonu jest zawsze dedukowany.
Parametry
inputLogFile
Wejściowy ślad ETW, z którego chcesz odczytywać zdarzenia.
outputLogFile
Plik, w którym mają być zapisywane nowe zdarzenia.
numberOfAnalysisPasses
Liczba przebiegów analizy do uruchomienia w śladzie wejściowym. Dane śledzenia są przekazywane przez podaną grupę analizatorów raz na przekazanie analizy.
systemEventsRetentionFlags
Maska bitów określająca, które zdarzenia ETW systemu mają być zachowywane w relogged śledzenia. Aby uzyskać więcej informacji, zobacz RELOG_RETENTION_SYSTEM_EVENT_FLAGS.
analyzerGroup
Grupa analizatorów używana do fazy analizy sesji ponownego rejestrowania. Wywołaj metodę MakeStaticAnalyzerGroup , aby utworzyć grupę analizatorów. Aby użyć grupy analizatora dynamicznego uzyskanego z MakeDynamicAnalyzerGroup, najpierw opakuj ją wewnątrz grupy analizatora statycznego, przekazując jego adres do MakeStaticAnalyzerGroup.
reloggerGroup
Grupa relogerów, która ponownie zapisuje zdarzenia do pliku śledzenia określonego w outputLogFile. Wywołaj MakeStaticReloggerGroup, aby utworzyć grupę reloggera. Aby użyć dynamicznej grupy ponownego rejestrowania uzyskanej z MakeDynamicReloggerGroup, najpierw umieść ją do statycznej grupy ponownego rejestrowania, przekazując jej adres do MakeStaticReloggerGroup.
Wartość zwracana
Kod wyniku z enumeracji RESULT_CODE.
Uwagi
Ślad wejściowy jest przekazywany przez grupę analizatora numberOfAnalysisPasses razy. Nie ma podobnej opcji ponownego rejestrowania przebiegów. Ślad jest przekazywany przez grupę ponownego zapisu tylko raz, po zakończeniu wszystkich przebiegów analizy.
Rejestrowanie zdarzeń systemowych, takich jak przykłady procesora CPU z poziomu klasy ponownego rejestrowania, nie jest obsługiwane. Użyj parametru systemEventsRetentionFlags , aby zdecydować, które zdarzenia systemowe mają być śledzone w danych wyjściowych.
Funkcja relog zależy od interfejsu API MODELU COM. Przed wywołaniem metody należy zadzwonićCoInitialize.relog
CoUninitialize Po zakończeniu połączenia.relog Jeśli wywołasz połączenie relog bez wywołania CoInitialize metody , otrzymasz kod błędu 9 (RESULT_CODE_FAILURE_START_RELOGGER).