Partager via


Relog

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 Relog fonction est utilisée pour lire les événements MSVC à partir d’une trace de suivi d’événements pour Windows (ETW) et les écrire dans une nouvelle trace ETW modifiée.

Syntaxe

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

Paramètres

TAnalyzerGroupMembers
Ce paramètre est toujours déduit.

TReloggerGroupMembers
Ce paramètre est toujours déduit.

inputLogFile
Trace ETW d’entrée à partir de laquelle vous souhaitez lire les événements.

outputLogFile
Fichier dans lequel écrire les nouveaux événements.

numberOfAnalysisPasses
Nombre d’analyses passées à exécuter sur la trace d’entrée. La trace est transmise par le groupe d’analyseurs fourni une fois par passe d’analyse.

systemEventsRetentionFlags
Masque de bits qui spécifie les événements ETW système à conserver dans la trace journalisée. Pour plus d’informations, consultez RELOG_RETENTION_SYSTEM_EVENT_FLAGS.

analyzerGroup
Groupe d’analyseurs utilisé pour la phase d’analyse de la session de relogging. Appelez MakeStaticAnalyzerGroup pour créer un groupe d’analyseurs. Pour 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. Pour utiliser un groupe de relogger dynamique obtenu à partir de MakeDynamicReloggerGroup, commencez par l’encapsuler à l’intérieur d’un groupe de relogger statique en passant son adresse à MakeStaticReloggerGroup.

Valeur de retour

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

Remarque

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.

La relog fonction dépend de l’API COM. Vous devez appeler avant d’appeler CoInitialize relog. Appel CoUninitialize une fois relog terminé. Si vous appelez sans appel relog pour CoInitialize commencer, vous obtiendrez le code d’erreur 9 (RESULT_CODE_FAILURE_START_RELOGGER).