StopAndRelogTracingSession
Пакет SDK для Сборки C++ совместим с 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
Файл, в который записываются повторно записанные данные трассировки, созданные сеансом повторной записи в журнал.
statistics
Указатель на объект TRACING_SESSION_STATISTICS. StopAndRelogTracingSession
записывает статистику сбора трассировки в этот объект перед возвратом.
numberOfAnalysisPasses
Количество проходов анализа, которые необходимо выполнить во время трассировки. Трассировка передается через предоставленную группу анализатора один раз для каждого выполнения анализа.
systemEventsRetentionFlags
Битовая маска RELOG_RETENTION_SYSTEM_EVENT_FLAGS, указывающая, какие системные события трассировки событий Windows следует сохранить в повторно записанных трассировках.
analyzerGroup
Группа анализатора, используемая для анализа сеанса повторной записи. Вызовите MakeStaticAnalyzerGroup, чтобы создать группу анализатора. Чтобы использовать динамическую группу анализаторов, полученную из MakeDynamicAnalyzerGroup, сначала инкапсулируйте ее в статической группе анализаторов, передав ее адрес в MakeStaticAnalyzerGroup
.
reloggerGroup
Группа перезаписи, которая выполняет перезапись событий в файл трассировки, указанный в outputLogFile. Вызовите MakeStaticReloggerGroup, чтобы создать группу повторной записи в журнал. Если нужно использовать динамическую группу повторной записи в журнал, полученную из MakeDynamicReloggerGroup, сначала нужно инкапсулировать ее в статической группе повторной записи в журнал, передав ее адрес в MakeStaticReloggerGroup
.
Возвращаемое значение
Код результата из перечисления RESULT_CODE.
Замечания
Входная трассировка передается через группу анализатора значения времени numberOfAnalysisPasses раз. Для проходов перезаписи не существует аналогичного параметра. Трассировка передается через группу перезаписи только один раз после завершения всех этапов анализа.
Повторная запись системных событий, таких как примеры ЦП, из класса перезаписи не поддерживается. Используйте параметр systemEventsRetentionFlags, чтобы решить, какие системные события следует хранить в выходной трассировке.