Konfigurieren und Starten einer SystemTraceProvider-Sitzung
SystemTraceProvider ist ein Kernelanbieter mit vordefinierten Kernelereignissen, die unter Windows 7, Windows Server 2008 R2 und höher unterstützt werden. Unter 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 der SystemTraceProvider für bis zu 8 Protokollierungssitzungen multiplexiert werden. Die ersten beiden Slots für Protokollierungssitzungen sind für die NT-Kernelprotokollierung und die Zirkelkernkontextprotokollierung reserviert.
Weitere Informationen zur Verwendung der NT-Kernelprotokollierungssitzung als Ablaufverfolgungsanbieter finden Sie unter Konfigurieren und Starten der NT-Kernelprotokollierungssitzung.
Ab Windows 10 SDK-Build 20348 und höher kann der 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 mit Systemanbietern, Schlüsselwörtern und entsprechenden Legacyflags und Gruppen finden Sie unter Systemanbieter.
Aktivieren einer SystemTraceProvider-Sitzung
Führen Sie den folgenden Befehl aus, um dem SystemTraceProvider das Starten einer anderen Sitzung als der NT-Kernelprotokollierung zu ermöglichen:
tracelog -start MySession -f c:\Kernel1.etl -eflag PROC_THREAD+LOADER+CSWITCH
Führen Sie die folgenden Schritte aus, um systemTraceProvider programmgesteuert zu aktivieren, um eine andere Sitzung als die NT-Kernelprotokollierung zu starten.
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 auf private Protokollierung statt auf KERNEL_LOGGER_NAME fest.
Stellen Sie sicher, dass das Wnode.Guid-Element der EVENT_TRACE_PROPERTIES-Struktur nicht auf SystemTraceControlGuid festgelegt ist. Sie müssen diesem Member eine neue GUID zuweisen.
Legen Sie auf dem Consumer den LoggerName-Member der EVENT_TRACE_LOGFILE-Struktur auf diese private Protokollierung fest.
Hinweis
Wenn Sie möchten, dass ein Nichtadministrator oder ein Nicht-TCB-Prozess eine Profilerstellungsablaufverfolgungssitzung mit dem SystemTraceProvider im Namen von Drittanbieteranwendungen starten kann, müssen Sie dem Benutzerprofil Berechtigungen erteilen 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 .
Zugehörige Themen
Konfigurieren und Starten einer privaten Protokollierungssitzung
Konfigurieren und Starten einer AutoLogger-Sitzung
Konfigurieren und Starten einer Ereignisablaufverfolgungssitzung
Konfigurieren und Starten der NT-Kernelprotokollierungssitzung
Aktualisieren einer Ereignisablaufverfolgungssitzung