Freigeben über


RELOG_DESCRIPTOR-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 RELOG_DESCRIPTOR-Struktur wird mit den Funktionen RelogA und RelogW verwendet. Es wird beschrieben, wie eine Ereignisablaufverfolgung für Windows (Event Tracing for Windows, ETW) erneut protokolliert werden sollte.

Syntax

typedef struct RELOG_DESCRIPTOR_TAG
{
    unsigned                NumberOfAnalysisPasses;
    ANALYSIS_CALLBACKS      AnalysisCallbacks;
    RELOG_CALLBACKS         RelogCallbacks;
    unsigned long long      SystemEventsRetentionFlags;
    void*                   AnalysisContext;
    void*                   RelogContext;
} RELOG_DESCRIPTOR;

Member

Name Beschreibung
NumberOfAnalysisPasses Die Anzahl von Analysedurchläufen, die während der Analysephase der Neuprotokollierungssitzung über die ETW-Ablaufverfolgung durchgeführt werden sollten.
AnalysisCallbacks Ein ANALYSIS_CALLBACKS-Objekt, das angibt, welche Funktionen während der Analysephase der Neuprotokollierungssitzung aufgerufen werden sollen.
RelogCallbacks Ein RELOG_CALLBACKS-Objekt, das angibt, welche Funktionen während der Neuprotokollierungsphase der Neuprotokollierungssitzung aufgerufen werden sollen.
SystemEventsRetentionFlags Eine RELOG_RETENTION_SYSTEM_EVENT_FLAGS Bitmaske, die angibt, welche System-ETW-Ereignisse in der neu zugeordneten Ablaufverfolgung beibehalten werden sollen.
AnalysisContext Ein vom Benutzer bereitgestellter Kontext, der als Argument an alle in AnalysisCallbacks angegebenen Rückruffunktionen übermittelt wird.
RelogContext Ein vom Benutzer bereitgestellter Kontext, der als Argument an alle in RelogCallbacks angegebenen Rückruffunktionen übermittelt wird.

Hinweise

Die Neuprotokollierung von ETW-Ereignissen während einer Neuprotokollierungssitzung wird vom Benutzer über die in RelogCallbacks angegebenen Rückruffunktionen gesteuert. ETW-Systemereignisse wie z. B. CPU-Stichproben werden jedoch nicht an diese Rückruffunktionen weitergeleitet. Steuern Sie über das SystemEventsRetentionFlags-Feld die Neuprotokollierung von ETW-Systemereignissen.

Die AnalysisCallbacks- und RelogCallbacks-Struktur akzeptieren nur Zeiger auf Funktionen, die nicht Member sind. Sie können diese Einschränkung umgehen, indem Sie sie auf einen Objektzeiger festlegen. Dieser Objektzeiger wird als Argument an alle Rückruffunktionen übermittelt, die nicht Member sind. Rufen Sie mit diesem Zeiger Memberfunktionen von den Rückruffunktionen aus auf, die nicht Member sind.

Die Analysephase einer Neuprotokollierungssitzung wird immer vor der Neuprotokollierungsphase ausgeführt.