Konfigurieren und Starten einer SystemTraceProvider-Sitzung

SystemTraceProvider ist ein Kernelanbieter mit vordefinierten Kernelereignissen, die auf Windows 7, Windows Server 2008 R2 und höher unterstützt werden. Auf Windows 7 und Windows Server 2008 R2 konnte SystemTraceProvider nur für die NT-Kernelprotokollierungssitzung verwendet werden.

Auf Windows 8, Windows Server 2012 und höher kann SystemTraceProvider für bis zu acht Protokollierungssitzungen multiplexiert werden. Die ersten beiden Slots für Protokollierungssitzungen sind für die NT-Kernelprotokollierung und die Circular Kernel Context Logger reserviert.

Weitere Informationen zur Verwendung der NT-Kernelprotokollierungssitzung als Ablaufverfolgungsanbieter finden Sie unter Konfigurieren und Starten der NT-Kernelprotokollierungssitzung.

Auf Windows 10 SDK-Build 20348 und höher kann SystemTraceProvider über separate Systemanbieter konfiguriert werden, die mit EnableTraceEx2 wie standardmäßige Ereignisablaufverfolgung für Windows Ereignisanbieter gesteuert werden können. Eine vollständige Liste der Systemanbieter, Schlüsselwörter und entsprechenden Legacyflags und -gruppen finden Sie unter Systemanbieter.

Aktivieren einer SystemTraceProvider-Sitzung

Führen Sie den folgenden Befehl aus, damit SystemTraceProvider eine andere Sitzung als die NT-Kernelprotokollierung starten kann:

tracelog -start MySession -f c: \ Kernel1.etl -eflag PROC _ THREAD+LOADER+CSWITCH

Um systemTraceProvider programmgesteuert so zu aktivieren, dass eine andere Sitzung als die NT-Kernelprotokollierung gestartet wird, gehen Sie wie folgt vor.

  • Definieren Sie einen privaten Protokollierungsnamen.

    #define PRIVATE _ LOGGER _ NAME L"Some Private Trace Session"

  • Legen Sie auf dem Controller die folgenden Member der EVENT _ TRACE _ PROPERTIES-Struktur fest.

    Legen Sie LogFileMode auf EVENT TRACE SYSTEM _ _ _ LOGGER _ MODE fest.

    Legen Sie LoggerName anstelle von KERNEL _ LOGGER _ NAME auf private Protokollierung fest.

    Stellen Sie sicher, dass der Wnode.Guid-Member der EVENT TRACE _ _ PROPERTIES-Struktur nicht auf SystemTraceControlGuid festgelegt ist. Sie müssen diesem Element eine neue GUID zuweisen.

  • Legen Sie auf dem Consumer den Member LoggerName der EVENT TRACE _ _ LOGFILE-Struktur auf diese private Protokollierung fest.

Hinweis

Wenn Sie möchten, dass ein Nicht-Administratoren- oder Nicht-TCB-Prozess eine Profilerstellungs-Ablaufverfolgungssitzung mit systemTraceProvider im Auftrag von Anwendungen von Drittanbietern starten kann, müssen Sie dem Benutzerprofil berechtigungen gewähren und diesen Benutzer dann sowohl der Sitzungs-GUID (erstellt für die Protokollierungssitzung) als auch der GUID des Systemablaufverfolgungsanbieters hinzufügen, um den Systemablaufverfolgungsanbieter zu aktivieren. Weitere Informationen finden Sie in der EventAccessControl-Funktion.

Konfigurieren und Starten einer privaten Protokollierungssitzung

Konfigurieren und Starten einer AutoLogger-Sitzung

Konfigurieren und Starten einer Ereignisablaufverfolgungssitzung

Konfigurieren und Starten der NT-Kernelprotokollierungssitzung

Systemanbieter

Aktualisieren einer Ereignisablaufverfolgungssitzung