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