Partager via


StopAndRelogTracingSession

Le SDK Build Insights C++ est compatible avec Visual Studio 2017 et ultérieur. Pour consulter la documentation de ces versions, définissez le contrôle de sélecteur Version de Visual Studio pour cet article sur Visual Studio 2017 ou ultérieur. Il se trouve en haut de la table des matières de cette page.

La StopAndRelogTracingSession fonction arrête une session de suivi en cours et enregistre la trace résultante dans un fichier temporaire. Une session de relogging est alors immédiatement démarrée à l’aide du fichier temporaire en tant qu’entrée. La trace journalisée finale produite par la session de relogging est enregistrée dans un fichier spécifié par l’appelant. Les exécutables appelant cette fonction doivent disposer de privilèges d’administrateur.

Syntaxe

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);

Paramètres

sessionName
Nom de la session de suivi à arrêter. Utilisez le même nom de session que celui passé à StartTracingSession, StartTracingSessionA ou StartTracingSessionW.

outputLogFile
Fichier dans lequel écrire la trace journalisée produite par la session de relogging.

statistiques
Pointeur vers un objet TRACING_SESSION_STATISTICS . StopAndRelogTracingSession écrit les statistiques de collection de traces dans cet objet avant de retourner.

numberOfAnalysisPasses
Le nombre d’analyses passe à exécuter sur la trace. La trace est transmise par le groupe d’analyseurs fourni une fois par passe d’analyse.

systemEventsRetentionFlags
Masque de bits RELOG_RETENTION_SYSTEM_EVENT_FLAGS qui spécifie les événements ETW système à conserver dans la trace journalisée.

analyzerGroup
Groupe d’analyseurs utilisé pour la phase d’analyse de la session de relogging. Appelez MakeStaticAnalyzerGroup pour créer un groupe d’analyseurs. Si vous souhaitez utiliser un groupe d’analyseurs dynamiques obtenu à partir de MakeDynamicAnalyzerGroup, commencez par l’encapsuler dans un groupe d’analyseurs statiques en passant son adresse à MakeStaticAnalyzerGroup.

reloggerGroup
Groupe de relogger qui reloge les événements dans le fichier de trace spécifié dans outputLogFile. Appelez MakeStaticReloggerGroup pour créer un groupe de relogger. Si vous souhaitez utiliser un groupe de relogger dynamique obtenu à partir de MakeDynamicReloggerGroup, commencez par l’encapsuler à l’intérieur d’un groupe de relogger statiques en passant son adresse à MakeStaticReloggerGroup.

Valeur de retour

Code de résultat de l’énumération RESULT_CODE .

Notes

La trace d’entrée est transmise par le biais des heures numberOfAnalysisPasses du groupe d’analyseurs. Il n’existe aucune option similaire pour la relogging passe. La trace est passée à travers le groupe de relogage une seule fois, une fois que toutes les passes d’analyse sont terminées.

La relogging d’événements système comme les exemples d’UC à partir d’une classe de relogger n’est pas prise en charge. Utilisez le paramètre systemEventsRetentionFlags pour déterminer les événements système à conserver dans la trace de sortie.