Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Le kit SDK C++ Build Insights est compatible avec Visual Studio 2017 et ultérieur. Pour afficher la documentation sur ces versions, définissez le contrôle de sélecteur de version de Visual Studio pour cet article sur Visual Studio 2017 ou version ultérieure. Il se trouve en haut de la table des matières de cette page.
La fonction Relog 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 de modèle
TAnalyzerGroupMembers
Ce pack de paramètres de modèle est toujours déduit.
TReloggerGroupMembers
Ce pack de paramètres de modèle est toujours déduit.
Parameters
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 réenregistré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 réenregistrement. Appelez MakeStaticAnalyzerGroup pour créer un groupe d’analyseurs. Pour utiliser un groupe d’analyseurs dynamiques obtenu à partir de MakeDynamicAnalyzerGroup, commencez par l’encapsuler à l’intérieur d’un groupe d’analyseurs statiques en passant son adresse à MakeStaticAnalyzerGroup.
reloggerGroup
Groupe de relogeurs 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 .
Remarques
La trace d’entrée est transmise par le groupe d'analyseurs numberOfAnalysisPasses fois. Il n’existe aucune option similaire pour les passes de réenregistrement. La trace est transmise par le groupe de relogger une seule fois, une fois que toutes les passes d’analyse sont terminées.
Le réenregistrement des événements système, comme les échantillons de CPU à partir d’une classe de réenregistreur, n’est pas pris en charge. Utilisez le systemEventsRetentionFlags paramètre pour déterminer les événements système à conserver dans la trace de sortie.
La fonction relog dépend de l’API COM. Vous devez appeler CoInitialize avant d’appeler relog. Appelez CoUninitialize une fois que relog est terminé. Si vous appelez relog sans avoir appelé CoInitialize au préalable, vous obtiendrez le code d’erreur 9 (RESULT_CODE_FAILURE_START_RELOGGER).