MakeStaticAnalyzerGroup

Пакет SDK Аналитика для сборки C++ совместим с Visual Studio 2017 и более поздними версиями. Чтобы увидеть документацию для этих версий, установите в данной статье селектор Версия Visual Studio в Visual Studio 2017 и более поздних версий. Он находится в верхней части оглавления на этой странице.

Функция MakeStaticAnalyzerGroup создает статическую группу анализаторов, которую можно передать в такие функции, как Analyze или Relog. Члены группы анализаторов получают события по одному слева направо, пока не будут проанализированы все события трассировки.

Синтаксис

template <typename... TAnalyzerPtrs>
auto MakeStaticAnalyzerGroup(TAnalyzerPtrs... analyzers);

Параметры

TAnalyzerPtrs
Этот параметр выводится во всех случаях.

analyzers
Пакет параметров для указателей IAnalyzer, включенных в статическую группу анализаторов. Эти указатели могут иметь следующий формат: необработанный, std::unique_ptr или std::shared_ptr.

Возвращаемое значение

Статическая группа анализаторов. Используйте ключевое слово auto для захвата возвращаемого значения.

Замечания

В отличие от динамических групп анализаторов, элементы статической группы анализаторов должны быть известны во время компиляции. Кроме того, статическая группа анализаторов содержит IAnalyzer указатели, которые не имеют полиморфного поведения. Когда статическая группа анализаторов анализирует трассировку событий для Windows (ETW), вызовы IAnalyzer интерфейса всегда разрешаются объекту непосредственно, на который указывает член группы анализаторов. Эта потеря гибкости обеспечивает возможность более быстрой обработки событий.

Если элементы группы анализаторов неизвестны во время компиляции или требуется полиморфизм для указателей IAnalyzer, рекомендуется использовать динамическую группу анализаторов. Чтобы использовать динамическую группу анализаторов, вызовите MakeDynamicAnalyzerGroup.