ANALYSIS_CALLBACKS-Struktur
Das C++ Build Insights SDK ist mit Visual Studio 2017 und höher kompatibel. Um die Dokumentation für diese Versionen anzuzeigen, legen Sie das Auswahlsteuerelement Version in Visual Studio für diesen Artikel auf Visual Studio 2017 oder höher fest. Es befindet sich am Anfang des Inhaltsverzeichnisses auf dieser Seite.
Die ANALYSIS_CALLBACKS
-Struktur wird beim Initialisieren eines ANALYSIS_DESCRIPTOR- oder RELOG_DESCRIPTOR-Objekts verwendet. Sie gibt an, welche Funktionen während der Analyse oder Neuprotokollierung einer Ereignisablaufverfolgung für Windows (Event Tracing for Windows, ETW) aufgerufen werden.
Syntax
typedef struct ANALYSIS_CALLBACKS_TAG
{
OnAnalysisEventFunc OnStartActivity;
OnAnalysisEventFunc OnStopActivity;
OnAnalysisEventFunc OnSimpleEvent;
OnTraceInfoFunc OnTraceInfo;
OnBeginEndPassFunc OnBeginAnalysis;
OnBeginEndPassFunc OnEndAnalysis;
OnBeginEndPassFunc OnBeginAnalysisPass;
OnBeginEndPassFunc OnEndAnalysisPass;
} ANALYSIS_CALLBACKS;
Member
Name | Beschreibung |
---|---|
OnStartActivity |
Wird aufgerufen, um ein Aktivitätsstartereignis zu verarbeiten. |
OnStopActivity |
Wird aufgerufen, um ein Aktivitätsstoppereignis zu verarbeiten. |
OnSimpleEvent |
Wird aufgerufen, um ein einfaches Ereignis zu verarbeiten. |
OnTraceInfo |
Wird für Analysesitzungen zu Beginn jedes Analysedurchlaufs aufgerufen. Wird für Neuprotokollierungssitzungen zu Beginn der einzelnen Analysedurchläufe und wieder am Anfang des Neuprotokollierungsdurchlaufs aufgerufen. Diese Funktion wird nur nach dem Aufruf von OnBeginAnalysisPass aufgerufen. |
OnBeginAnalysis |
Wird für Analysesitzungen aufgerufen, bevor ein Analysedurchlauf begonnen hat. Wird für Neuprotokollierungssitzungen zweimal vor Beginn der Analysephase aufgerufen: einmal, um den Beginn der Neuprotokollierungssitzung anzukündigen, und noch einmal, um den Beginn der Analysephase anzukündigen. |
OnEndAnalysis |
Für Analysesitzungen wird diese Funktion aufgerufen, nachdem alle Analysedurchläufe beendet wurden. Für Neuprotokollierungssitzungen wird diese Funktion aufgerufen, wenn alle Analysedurchläufe der Analysephase beendet wurden. Anschließend wird sie erneut aufgerufen, nachdem der Neuprotokollierungsdurchlauf beendet wurde. |
OnBeginAnalysisPass |
Wird beim Start eines Analyse- oder Neuprotokollierungsdurchlaufs aufgerufen, bevor ein Ereignis verarbeitet wird. |
OnEndAnalysisPass |
Wird beim Ende eines Analyse- oder Neuprotokollierungsdurchlaufs aufgerufen, nachdem alle Ereignisse verarbeitet wurden. |
Hinweise
Die Analysephase einer Neuprotokollierungssitzung wird als Teil der Neuprotokollierungssitzung angesehen und kann mehrere Analysedurchläufe enthalten. Aus diesem Grund wird OnBeginAnalysis
zu Beginn einer Neuprotokollierungssitzung zweimal in einer Zeile aufgerufen. OnEndAnalysis
wird am Ende der Analysephase aufgerufen, bevor die Neuprotokollierungsphase gestartet wird, und wieder am Ende der Neuprotokollierungsphase. Die Neuprotokollierungsphase enthält immer einen einzelnen Neuprotokollierungsdurchlauf.
Analysetools können sowohl Teil der Analyse als auch der Neuprotokollierungsphase einer Neuprotokollierungssitzung sein. Diese Analysetoolmodule können bestimmen, welche Phase zurzeit durchgeführt wird, indem sie die OnBeginAnalysis- und OnEndAnalysis
-Aufrufpaare nachverfolgen. Zwei OnBeginAnalysis
-Aufrufe ohne OnEndAnalysis
-Aufruf bedeutet, dass die Analysephase durchgeführt wird. Zwei OnBeginAnalysis
-Aufrufe und ein OnEndAnalysis
-Aufruf bedeutet, dass die Phase der Neuprotokollierung durchgeführt wird. Zwei OnBeginAnalysis- und zwei OnEndAnalysis
-Aufrufe bedeutet, dass beide Phasen beendet wurden.
Alle Member der ANALYSIS_CALLBACKS
-Struktur müssen auf eine gültige Funktion verweisen. Weitere Informationen zu den akzeptierten Funktionssignaturen finden Sie unter OnAnalysisEventFunc, OnTraceInfoFunc und OnBeginEndPassFunc.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für